Commit ac0a35f2 authored by hcing's avatar hcing

fix(tzs): 人员列表调整数据源,从es查询

parent 4df63d57
...@@ -195,6 +195,26 @@ public class EsUserInfo { ...@@ -195,6 +195,26 @@ public class EsUserInfo {
@Field(type = FieldType.Date, format = DateFormat.date) @Field(type = FieldType.Date, format = DateFormat.date)
private LocalDate licenseMinExpiryDate; private LocalDate licenseMinExpiryDate;
/**
* 绑定设备状态
* 已绑定 : "1"
* 未绑定 : "0"
*/
@Field(type = FieldType.Keyword)
private String bindEquStatus;
/**
* 绑定的平台账号用户id
*/
@Field(type = FieldType.Keyword)
private String amosUserId;
/**
* 绑定的平台账号用户名称
*/
@Field(type = FieldType.Text)
private String amosUserName;
@Data @Data
public static class License { public static class License {
......
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.annotation.PostConstruct;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@Service
public class TZSCommonServiceImpl {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
public static final String overdue = "overdue";
public static final String near = "near";
public static final String normal = "normal";
public static final String none = "none";
public static final String noLicense = "noLicense";
public static final String noLicenseReq = "noLicenseReq";
public static final Map<String, String> licensesStatusMap = new HashMap<>(6);
public static final Map<String, String> permitStatusMap = new HashMap<>(4);
public static final Map<String, String> inspectionStatusMap = new HashMap<>(4);
@PostConstruct
public void init() {
permitStatusMap.put(overdue, "许可超期");
permitStatusMap.put(near, "许可临期");
permitStatusMap.put(normal, "许可正常");
permitStatusMap.put(none, "无有效期");
inspectionStatusMap.put(overdue, "检验超期");
inspectionStatusMap.put(near, "检验临期");
inspectionStatusMap.put(normal, "检验正常");
inspectionStatusMap.put(none, "无下次检验日期");
licensesStatusMap.put(overdue, "资质超期");
licensesStatusMap.put(near, "资质临期");
licensesStatusMap.put(normal, "资质正常");
licensesStatusMap.put(none, "无有效期");
licensesStatusMap.put(noLicense, "无资质");
licensesStatusMap.put(noLicenseReq, "无资质要求");
}
/**
* 获取用户的资质状态-从统计服务-综合统计迁移而来
*
* @param esUserInfoJson es中的用户数据
* @return 用户的资质状态
*/
public String getLicensesStatusWithEsUserInfo(JSONObject esUserInfoJson, String licensesStatusStr) {
String licensesStatus = null;
if (esUserInfoJson.containsKey("licenses")) {
// 以下人员类型有资质要求
// 人员类型(newPost):检验人员:66151、检测人员:66152
// 人员子类型(subPost): 持证人员:6713、持证人员(P):6764、持证人员(R2):6765
String newPost = ObjectUtils.isEmpty(esUserInfoJson.getString("newPost")) ? "" : esUserInfoJson.getString("newPost");
String subPost = ObjectUtils.isEmpty(esUserInfoJson.getString("subPost")) ? "" : esUserInfoJson.getString("subPost");
if (newPost.contains("66151") || newPost.contains("66152") || subPost.contains("6713") || subPost.contains("6764") || subPost.contains("6765")) {
JSONArray licenses = esUserInfoJson.getJSONArray("licenses");
String overdueStr = licensesStatusMap.get(overdue);
String nearStr = licensesStatusMap.get(near);
String normalStr = licensesStatusMap.get(normal);
String noneStr = licensesStatusMap.get(none);
if (!ObjectUtils.isEmpty(licenses)) {
if (!"".equals(licensesStatusStr)) {
licensesStatus = licensesStatusMap.get(licensesStatusStr);
} else {
List<String> permissionStatusList = new ArrayList<>();
for (Object object : licenses) {
JSONObject json = JSONObject.parseObject(JSONObject.toJSONString(object));
if (!json.containsKey("expiryDate")) {
permissionStatusList.add(noneStr);
continue;
}
String expiryDate = json.getString("expiryDate");
if (!ObjectUtils.isEmpty(expiryDate)) {
long daysBetween = ChronoUnit.DAYS.between(LocalDate.now(), LocalDate.parse(expiryDate, formatter));
if (daysBetween < 0) {
permissionStatusList.add(overdueStr);
} else if (daysBetween <= 30) {
permissionStatusList.add(nearStr);
} else {
permissionStatusList.add(normalStr);
}
}
}
long cq = permissionStatusList.stream().filter(e -> e.equals(overdueStr)).count();
long lq = permissionStatusList.stream().filter(e -> e.equals(nearStr)).count();
long no = permissionStatusList.stream().filter(e -> e.equals(noneStr)).count();
long zc = permissionStatusList.stream().filter(e -> e.equals(normalStr)).count();
// 需按照资质严重顺序进行判断,先判断超期,再判断临期,再判断无有效期,最后判断正常
if (cq > 0) {
licensesStatus = overdueStr;
} else if (lq > 0) {
licensesStatus = nearStr;
} else if (no > 0) {
licensesStatus = noneStr;
} else if (zc > 0) {
licensesStatus = normalStr;
}
}
} else {
licensesStatus = licensesStatusMap.get(noLicense);
}
} else {
licensesStatus = !"".equals(licensesStatusStr) ? licensesStatusMap.get(licensesStatusStr) : licensesStatusMap.get(noLicenseReq);
}
}
return licensesStatus;
}
}
\ No newline at end of file
...@@ -13,6 +13,7 @@ import com.yeejoin.amos.boot.module.jg.api.dto.EquipmentClassifyDto; ...@@ -13,6 +13,7 @@ import com.yeejoin.amos.boot.module.jg.api.dto.EquipmentClassifyDto;
import com.yeejoin.amos.boot.module.jg.api.dto.ReportAnalysisSearchDTO; import com.yeejoin.amos.boot.module.jg.api.dto.ReportAnalysisSearchDTO;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory; import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -326,5 +327,14 @@ public interface CommonMapper extends BaseMapper<EquipmentCategory> { ...@@ -326,5 +327,14 @@ public interface CommonMapper extends BaseMapper<EquipmentCategory> {
List<CountDto> countBizNumAfterUseRegBatchProjectContraption(@Param("projectContraptionIds") List<Long> projectContraptionIds); List<CountDto> countBizNumAfterUseRegBatchProjectContraption(@Param("projectContraptionIds") List<Long> projectContraptionIds);
List<Map<String, String>> gdEquOnJgServiceOperationRecords(@Param("record") String record); List<Map<String, String>> gdEquOnJgServiceOperationRecords(@Param("record") String record);
/**
* 用户绑定设备数量
*
* @param userSeq 用户userId
* @return 数量
*/
@Select("SELECT count(1) from tzs_user_equip where user_seq = #{userSeq}")
Integer queryUserBindEquNum(@Param("userSeq") String userSeq);
} }
...@@ -30,13 +30,13 @@ import com.yeejoin.amos.boot.module.common.api.entity.ESEquipmentInfo; ...@@ -30,13 +30,13 @@ import com.yeejoin.amos.boot.module.common.api.entity.ESEquipmentInfo;
import com.yeejoin.amos.boot.module.common.api.entity.EsBaseEnterpriseInfo; import com.yeejoin.amos.boot.module.common.api.entity.EsBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.common.api.entity.EsUserInfo; import com.yeejoin.amos.boot.module.common.api.entity.EsUserInfo;
import com.yeejoin.amos.boot.module.common.api.entity.TzsUserPermission; import com.yeejoin.amos.boot.module.common.api.entity.TzsUserPermission;
import com.yeejoin.amos.boot.module.common.api.enums.CylinderTypeEnum;
import com.yeejoin.amos.boot.module.common.biz.refresh.cm.RefreshCmService; import com.yeejoin.amos.boot.module.common.biz.refresh.cm.RefreshCmService;
import com.yeejoin.amos.boot.module.common.biz.utils.RefreshDataUtils; import com.yeejoin.amos.boot.module.common.biz.utils.RefreshDataUtils;
import com.yeejoin.amos.boot.module.jg.api.dto.JgInstallationNoticeEqDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgInstallationNoticeEqDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto;
import com.yeejoin.amos.boot.module.jg.api.dto.PieLineEquipContraptionDto; import com.yeejoin.amos.boot.module.jg.api.dto.PieLineEquipContraptionDto;
import com.yeejoin.amos.boot.module.jg.api.entity.*; import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.common.api.enums.CylinderTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.PipelineEnum; import com.yeejoin.amos.boot.module.jg.api.enums.PipelineEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.SafetyProblemTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.SafetyProblemTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.*; import com.yeejoin.amos.boot.module.jg.api.mapper.*;
...@@ -1486,6 +1486,8 @@ public class DataHandlerServiceImpl { ...@@ -1486,6 +1486,8 @@ public class DataHandlerServiceImpl {
esUserInfo.setSubPost(RefreshDataUtils.castStrList2String(u.getSubPost())); esUserInfo.setSubPost(RefreshDataUtils.castStrList2String(u.getSubPost()));
esUserInfo.setEquipType(RefreshDataUtils.castStrList2String(u.getEquipType())); esUserInfo.setEquipType(RefreshDataUtils.castStrList2String(u.getEquipType()));
esUserInfo.setEquipTypeName(RefreshDataUtils.castEquCategory2Name(esUserInfo.getEquipType())); esUserInfo.setEquipTypeName(RefreshDataUtils.castEquCategory2Name(esUserInfo.getEquipType()));
// 绑定设备状态
esUserInfo.setBindEquStatus(this.queryUserBindEquStatus(u.getSequenceNbr()));
// 人员类型暂时取esBaseEnterpriseInfo按照资质分开后的,等检验和检测分开后,按照实际情况取就即可:useCodeEnterpriseMap.getOrDefault(u.getUnitCode(), new TzBaseEnterpriseInfo()).getUnitType() // 人员类型暂时取esBaseEnterpriseInfo按照资质分开后的,等检验和检测分开后,按照实际情况取就即可:useCodeEnterpriseMap.getOrDefault(u.getUnitCode(), new TzBaseEnterpriseInfo()).getUnitType()
String unitType = esUseCodeEnterpriseMap.getOrDefault(u.getUnitCode(), useCodeEnterpriseMap.getOrDefault(u.getUnitCode(), new TzBaseEnterpriseInfo()).getUnitType()); String unitType = esUseCodeEnterpriseMap.getOrDefault(u.getUnitCode(), useCodeEnterpriseMap.getOrDefault(u.getUnitCode(), new TzBaseEnterpriseInfo()).getUnitType());
esUserInfo.setUnitType(unitType); esUserInfo.setUnitType(unitType);
...@@ -1502,6 +1504,10 @@ public class DataHandlerServiceImpl { ...@@ -1502,6 +1504,10 @@ public class DataHandlerServiceImpl {
return units.size(); return units.size();
} }
private String queryUserBindEquStatus(Long sequenceNbr) {
return commonMapper.queryUserBindEquNum(sequenceNbr.toString()) > 0 ? "1" : "0";
}
private List<EsUserInfo.License> buildUserLicenses(Long sequenceNbr) { private List<EsUserInfo.License> buildUserLicenses(Long sequenceNbr) {
List<TzsUserPermission> permissions = userPermissionMapper.selectList(new LambdaQueryWrapper<TzsUserPermission>().eq(TzsUserPermission::getUserSeq, sequenceNbr)); List<TzsUserPermission> permissions = userPermissionMapper.selectList(new LambdaQueryWrapper<TzsUserPermission>().eq(TzsUserPermission::getUserSeq, sequenceNbr));
return permissions.stream().map(p -> { return permissions.stream().map(p -> {
...@@ -1625,7 +1631,7 @@ public class DataHandlerServiceImpl { ...@@ -1625,7 +1631,7 @@ public class DataHandlerServiceImpl {
Page<String> refreshRecords = useInfoService.getBaseMapper().selectAddDataRecords(recordDtoPage); Page<String> refreshRecords = useInfoService.getBaseMapper().selectAddDataRecords(recordDtoPage);
if(!ObjectUtils.isEmpty(refreshRecords)&& refreshRecords.getRecords().size() > 0){ if (!ObjectUtils.isEmpty(refreshRecords) && refreshRecords.getRecords().size() > 0) {
List<String> records = refreshRecords.getRecords(); List<String> records = refreshRecords.getRecords();
StopWatch watch0 = new StopWatch(); StopWatch watch0 = new StopWatch();
watch0.start(); watch0.start();
...@@ -1752,7 +1758,7 @@ public class DataHandlerServiceImpl { ...@@ -1752,7 +1758,7 @@ public class DataHandlerServiceImpl {
Page<String> refreshRecords = useInfoService.getBaseMapper().selectPiPeRecords(recordDtoPage); Page<String> refreshRecords = useInfoService.getBaseMapper().selectPiPeRecords(recordDtoPage);
if(!ObjectUtils.isEmpty(refreshRecords)&& refreshRecords.getRecords().size() > 0){ if (!ObjectUtils.isEmpty(refreshRecords) && refreshRecords.getRecords().size() > 0) {
List<String> records = refreshRecords.getRecords(); List<String> records = refreshRecords.getRecords();
StopWatch watch0 = new StopWatch(); StopWatch watch0 = new StopWatch();
watch0.start(); watch0.start();
......
...@@ -19,6 +19,7 @@ import com.yeejoin.amos.boot.biz.common.utils.DateUtils; ...@@ -19,6 +19,7 @@ import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RequestContextWrapper; import com.yeejoin.amos.boot.biz.common.utils.RequestContextWrapper;
import com.yeejoin.amos.boot.module.common.api.dto.TechParamItem; import com.yeejoin.amos.boot.module.common.api.dto.TechParamItem;
import com.yeejoin.amos.boot.module.common.api.entity.ESEquipmentInfo; import com.yeejoin.amos.boot.module.common.api.entity.ESEquipmentInfo;
import com.yeejoin.amos.boot.module.common.biz.service.impl.TZSCommonServiceImpl;
import com.yeejoin.amos.boot.module.common.biz.utils.TechParamUtil; import com.yeejoin.amos.boot.module.common.biz.utils.TechParamUtil;
import com.yeejoin.amos.boot.module.statistcs.biz.utils.JsonUtils; import com.yeejoin.amos.boot.module.statistcs.biz.utils.JsonUtils;
import com.yeejoin.amos.boot.module.statistcs.biz.utils.MinioUtils; import com.yeejoin.amos.boot.module.statistcs.biz.utils.MinioUtils;
...@@ -67,7 +68,6 @@ import org.typroject.tyboot.core.foundation.context.RequestContext; ...@@ -67,7 +68,6 @@ import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.exception.BaseException; import org.typroject.tyboot.core.foundation.exception.BaseException;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import javax.annotation.PostConstruct;
import java.io.IOException; import java.io.IOException;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
...@@ -84,6 +84,7 @@ import java.util.function.BiConsumer; ...@@ -84,6 +84,7 @@ import java.util.function.BiConsumer;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
import static com.yeejoin.amos.boot.module.common.biz.service.impl.TZSCommonServiceImpl.*;
import static org.elasticsearch.index.query.QueryBuilders.existsQuery; import static org.elasticsearch.index.query.QueryBuilders.existsQuery;
/** /**
...@@ -107,6 +108,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -107,6 +108,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
private final DataDictionaryServiceImpl dataDictionaryService; private final DataDictionaryServiceImpl dataDictionaryService;
private final DataDictionaryMapper dataDictionaryMapper; private final DataDictionaryMapper dataDictionaryMapper;
private final EmqKeeper emqKeeper; private final EmqKeeper emqKeeper;
private final TZSCommonServiceImpl tzsCommonService;
private final RestHighLevelClient restHighLevelClient; private final RestHighLevelClient restHighLevelClient;
private final String DOWN_LOAD_START_TEMP = "{\"id\":\"%s\",\"status\":\"starting\",\"fileName\":\"%s\",\"time\":\"%s\"}"; private final String DOWN_LOAD_START_TEMP = "{\"id\":\"%s\",\"status\":\"starting\",\"fileName\":\"%s\",\"time\":\"%s\"}";
...@@ -134,38 +136,6 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -134,38 +136,6 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
private static final Map<String, String> permitStatusMap = new HashMap<>(4);
private static final Map<String, String> licensesStatusMap = new HashMap<>(6);
private static final Map<String, String> inspectionStatusMap = new HashMap<>(4);
private static final String overdue = "overdue";
private static final String near = "near";
private static final String normal = "normal";
private static final String none = "none";
private static final String noLicense = "noLicense";
private static final String noLicenseReq = "noLicenseReq";
@PostConstruct
public void init() {
permitStatusMap.put(overdue, "许可超期");
permitStatusMap.put(near, "许可临期");
permitStatusMap.put(normal, "许可正常");
permitStatusMap.put(none, "无有效期");
inspectionStatusMap.put(overdue, "检验超期");
inspectionStatusMap.put(near, "检验临期");
inspectionStatusMap.put(normal, "检验正常");
inspectionStatusMap.put(none, "无下次检验日期");
licensesStatusMap.put(overdue, "资质超期");
licensesStatusMap.put(near, "资质临期");
licensesStatusMap.put(normal, "资质正常");
licensesStatusMap.put(none, "无有效期");
licensesStatusMap.put(noLicense, "无资质");
licensesStatusMap.put(noLicenseReq, "无资质要求");
}
public List<Map<String, Object>> queryEquipmentCategory(String key) { public List<Map<String, Object>> queryEquipmentCategory(String key) {
List<Map<String, Object>> list; List<Map<String, Object>> list;
Map<String, List<Map<String, Object>>> resourceJson = JsonUtils.getResourceJson(equipCategory); Map<String, List<Map<String, Object>>> resourceJson = JsonUtils.getResourceJson(equipCategory);
...@@ -373,65 +343,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -373,65 +343,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
dto.put("equipType", equipTypes.substring(0, equipTypes.length() - 1)); dto.put("equipType", equipTypes.substring(0, equipTypes.length() - 1));
} }
String licensesStatus = null; dto.put("licensesStatus", tzsCommonService.getLicensesStatusWithEsUserInfo(dto, licensesStatusStr));
if (dto.containsKey("licenses")) {
// 以下人员类型有资质要求
// 人员类型(newPost):检验人员:66151、检测人员:66152
// 人员子类型(subPost): 持证人员:6713、持证人员(P):6764、持证人员(R2):6765
String newPost = ObjectUtils.isEmpty(dto.getString("newPost")) ? "" : dto.getString("newPost");
String subPost = ObjectUtils.isEmpty(dto.getString("subPost")) ? "" : dto.getString("subPost");
if (newPost.contains("66151") || newPost.contains("66152") || subPost.contains("6713") || subPost.contains("6764") || subPost.contains("6765")) {
JSONArray licenses = dto.getJSONArray("licenses");
String overdueStr = licensesStatusMap.get(overdue);
String nearStr = licensesStatusMap.get(near);
String normalStr = licensesStatusMap.get(normal);
String noneStr = licensesStatusMap.get(none);
if (!ObjectUtils.isEmpty(licenses)) {
if (!"".equals(licensesStatusStr)) {
licensesStatus = licensesStatusMap.get(licensesStatusStr);
} else {
List<String> permissionStatusList = new ArrayList<>();
for (Object object : licenses) {
JSONObject json = JSONObject.parseObject(JSONObject.toJSONString(object));
if (!json.containsKey("expiryDate")) {
permissionStatusList.add(noneStr);
continue;
}
String expiryDate = json.getString("expiryDate");
if (!ObjectUtils.isEmpty(expiryDate)) {
long daysBetween = ChronoUnit.DAYS.between(LocalDate.now(), LocalDate.parse(expiryDate, formatter));
if (daysBetween < 0) {
permissionStatusList.add(overdueStr);
} else if (daysBetween <= 30) {
permissionStatusList.add(nearStr);
} else {
permissionStatusList.add(normalStr);
}
}
}
long cq = permissionStatusList.stream().filter(e -> e.equals(overdueStr)).count();
long lq = permissionStatusList.stream().filter(e -> e.equals(nearStr)).count();
long no = permissionStatusList.stream().filter(e -> e.equals(noneStr)).count();
long zc = permissionStatusList.stream().filter(e -> e.equals(normalStr)).count();
// 需按照资质严重顺序进行判断,先判断超期,再判断临期,再判断无有效期,最后判断正常
if (cq > 0) {
licensesStatus = overdueStr;
} else if (lq > 0) {
licensesStatus = nearStr;
} else if (no > 0) {
licensesStatus = noneStr;
} else if (zc > 0) {
licensesStatus = normalStr;
}
}
} else {
licensesStatus = licensesStatusMap.get(noLicense);
}
} else {
licensesStatus = !"".equals(licensesStatusStr) ? licensesStatusMap.get(licensesStatusStr) : licensesStatusMap.get(noLicenseReq);
}
}
dto.put("licensesStatus", licensesStatus);
list.add(dto); list.add(dto);
} }
totle = Objects.requireNonNull(response.getInternalResponse().hits().getTotalHits()).value; totle = Objects.requireNonNull(response.getInternalResponse().hits().getTotalHits()).value;
......
...@@ -10,6 +10,7 @@ import com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserInfo; ...@@ -10,6 +10,7 @@ import com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserInfo;
import com.yeejoin.amos.boot.module.tcm.api.vo.SortVo; import com.yeejoin.amos.boot.module.tcm.api.vo.SortVo;
import com.yeejoin.amos.boot.module.tcm.api.vo.UserInfoVo; import com.yeejoin.amos.boot.module.tcm.api.vo.UserInfoVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -61,4 +62,13 @@ public interface TzsUserInfoMapper extends BaseMapper<TzsUserInfo> { ...@@ -61,4 +62,13 @@ public interface TzsUserInfoMapper extends BaseMapper<TzsUserInfo> {
* @return 对象列表 * @return 对象列表
*/ */
List<UserPermissionDto> queryUserByPermissionOfOneCompany(@Param("filter") UserPermissionDto filter); List<UserPermissionDto> queryUserByPermissionOfOneCompany(@Param("filter") UserPermissionDto filter);
/**
* 用户绑定设备数量
*
* @param userSeq 用户userId
* @return 数量
*/
@Select("SELECT count(1) from tzs_user_equip where user_seq = #{userSeq}")
Integer queryUserBindEquNum(@Param("userSeq") String userSeq);
} }
package com.yeejoin.amos.boot.module.tcm.api.service; package com.yeejoin.amos.boot.module.tcm.api.service;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
...@@ -102,4 +103,6 @@ public interface ITzsUserInfoService extends IService<TzsUserInfo> { ...@@ -102,4 +103,6 @@ public interface ITzsUserInfoService extends IService<TzsUserInfo> {
TzIndividualityDto individualityByCompanyCode(String companyCode); TzIndividualityDto individualityByCompanyCode(String companyCode);
TzIndividualityDto personalInfoUpdateById(Map<String, Object> map); TzIndividualityDto personalInfoUpdateById(Map<String, Object> map);
IPage<JSONObject> queryESForPage(ReginParams reginParams, String current, String size, String sort, Map<String, String> map);
} }
...@@ -143,6 +143,16 @@ public class TzsUserInfoController extends BaseController { ...@@ -143,6 +143,16 @@ public class TzsUserInfoController extends BaseController {
return ResponseHelper.buildResponse(tzsUserInfoService.page(dto, page, sort)); return ResponseHelper.buildResponse(tzsUserInfoService.page(dto, page, sort));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/queryESForPage")
@ApiOperation(httpMethod = "GET", value = "人员信息列表,从ES中获取数据", notes = "人员信息列表,替换掉原先的从数据库查询的接口,用于监管和企业的人员管理列表")
public ResponseModel<IPage<JSONObject>> queryESForPage(@RequestParam(value = "current") String current,
@RequestParam(value = "size") String size,
@RequestParam(value = "sort", required = false) String sort,
@RequestParam Map<String, String> map) {
return ResponseHelper.buildResponse(tzsUserInfoService.queryESForPage(getSelectedOrgInfo(), current, size, sort, map));
}
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/createUnitPerson") @GetMapping(value = "/createUnitPerson")
...@@ -328,7 +338,7 @@ public class TzsUserInfoController extends BaseController { ...@@ -328,7 +338,7 @@ public class TzsUserInfoController extends BaseController {
filter.setOrgCode(getSelectedOrgInfo().getCompany().getOrgCode()); filter.setOrgCode(getSelectedOrgInfo().getCompany().getOrgCode());
filter.setCityCode(getSelectedOrgInfo().getCompany().getCompanyCode()); filter.setCityCode(getSelectedOrgInfo().getCompany().getCompanyCode());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (!ValidationUtil.isEmpty(map.get("createDateRange"))){ if (!ValidationUtil.isEmpty(map.get("createDateRange"))) {
String createDateRangeObj = Objects.toString(map.get("createDateRange")); String createDateRangeObj = Objects.toString(map.get("createDateRange"));
String[] split = createDateRangeObj.replace("[", "").replace("]", "").split(","); String[] split = createDateRangeObj.replace("[", "").replace("]", "").split(",");
String startDateStr = split[0]; String startDateStr = split[0];
......
...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; ...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.module.common.api.entity.EsUserInfo; import com.yeejoin.amos.boot.module.common.api.entity.EsUserInfo;
import com.yeejoin.amos.boot.module.common.api.entity.TzsUserPermission; import com.yeejoin.amos.boot.module.common.api.entity.TzsUserPermission;
import com.yeejoin.amos.boot.module.common.biz.utils.RefreshDataUtils; import com.yeejoin.amos.boot.module.common.biz.utils.RefreshDataUtils;
import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserInfoMapper;
import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserPermissionMapper; import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserPermissionMapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -16,6 +17,8 @@ import java.util.stream.Collectors; ...@@ -16,6 +17,8 @@ import java.util.stream.Collectors;
@RequiredArgsConstructor @RequiredArgsConstructor
public class CommonRefreshService { public class CommonRefreshService {
private final TzsUserInfoMapper userInfoMapper;
private final TzsUserPermissionMapper userPermissionMapper; private final TzsUserPermissionMapper userPermissionMapper;
public List<EsUserInfo.License> buildUserLicenses(Long sequenceNbr) { public List<EsUserInfo.License> buildUserLicenses(Long sequenceNbr) {
...@@ -28,4 +31,8 @@ public class CommonRefreshService { ...@@ -28,4 +31,8 @@ public class CommonRefreshService {
return license; return license;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
public String queryUserBindEquStatus(Long userSeq) {
return userInfoMapper.queryUserBindEquNum(userSeq.toString()) > 0 ? "1" : "0";
}
} }
...@@ -69,6 +69,8 @@ public class UserRefreshHandler implements IDataRefreshHandler { ...@@ -69,6 +69,8 @@ public class UserRefreshHandler implements IDataRefreshHandler {
esUserInfo.setSubPost(RefreshDataUtils.castStrList2String(userInfo.getSubPost())); esUserInfo.setSubPost(RefreshDataUtils.castStrList2String(userInfo.getSubPost()));
esUserInfo.setEquipType(RefreshDataUtils.castStrList2String(userInfo.getEquipType())); esUserInfo.setEquipType(RefreshDataUtils.castStrList2String(userInfo.getEquipType()));
esUserInfo.setEquipTypeName(RefreshDataUtils.castEquCategory2Name(esUserInfo.getEquipType())); esUserInfo.setEquipTypeName(RefreshDataUtils.castEquCategory2Name(esUserInfo.getEquipType()));
// 绑定设备状态
esUserInfo.setBindEquStatus(commonRefreshService.queryUserBindEquStatus(userInfo.getSequenceNbr()));
Optional<EsBaseEnterpriseInfo> esBaseEnterpriseInfo = esBaseEnterpriseInfoDao.findById(unit.getSequenceNbr() + ""); Optional<EsBaseEnterpriseInfo> esBaseEnterpriseInfo = esBaseEnterpriseInfoDao.findById(unit.getSequenceNbr() + "");
// 人员类型暂时取esBaseEnterpriseInfo按照资质分开后的,等检验和检测分开后,按照实际情况取就即可:unit.getUnitType() // 人员类型暂时取esBaseEnterpriseInfo按照资质分开后的,等检验和检测分开后,按照实际情况取就即可:unit.getUnitType()
String unitType = esBaseEnterpriseInfo.map(EsBaseEnterpriseInfo::getUnitType).orElse(unit.getUnitType()); String unitType = esBaseEnterpriseInfo.map(EsBaseEnterpriseInfo::getUnitType).orElse(unit.getUnitType());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment