Commit 6401acff authored by tianbo's avatar tianbo

Merge branch 'develop_tzs_bugfix' into develop_tzs_register

parents 3ac60aac 146ad182
...@@ -50,7 +50,15 @@ ...@@ -50,7 +50,15 @@
FROM tzs_jg_maintenance_contract_eq ede FROM tzs_jg_maintenance_contract_eq ede
LEFT JOIN idx_biz_jg_supervision_info si ON si."RECORD" = ede.equ_id LEFT JOIN idx_biz_jg_supervision_info si ON si."RECORD" = ede.equ_id
WHERE ede.equip_transfer_id = tjmc.sequence_nbr WHERE ede.equip_transfer_id = tjmc.sequence_nbr
) AS orgBranchCodes ) AS orgBranchCodes,
(
SELECT mri.ME_MASTER1_PHONE AS phone
FROM tzs_jg_maintenance_contract_eq ede
LEFT JOIN idx_biz_jg_maintenance_record_info mri
ON mri."RECORD" = ede.equ_id
WHERE ede.equip_transfer_id = tjmc.sequence_nbr
order by mri.REC_DATE limit 1
) AS phone
FROM FROM
tzs_jg_maintenance_contract tjmc tzs_jg_maintenance_contract tjmc
</sql> </sql>
......
...@@ -824,7 +824,7 @@ public class CommonEquipDataProcessService { ...@@ -824,7 +824,7 @@ public class CommonEquipDataProcessService {
// 设备来源,前端无法判断,故后端进行判断,分为新设备(new)、历史有证设备(his)、历史无证设备(black) // 设备来源,前端无法判断,故后端进行判断,分为新设备(new)、历史有证设备(his)、历史无证设备(black)
result.put("dataSourceClassify", this.genDataSource(useInfo.getDataSource())); result.put("dataSourceClassify", this.genDataSource(useInfo.getDataSource()));
// 获取已登记设备的登记证对应接收机构 // 获取已登记设备的登记证对应接收机构
if (registerInfo.getUseOrgCode() != null) { if (!ValidationUtil.isEmpty(registerInfo.getUseOrgCode())) {
JgUseRegistrationManage jgUseRegistrationManage = jgUseRegistrationManageService.lambdaQuery() JgUseRegistrationManage jgUseRegistrationManage = jgUseRegistrationManageService.lambdaQuery()
.eq(JgUseRegistrationManage::getUseRegistrationCode, registerInfo.getUseOrgCode()) .eq(JgUseRegistrationManage::getUseRegistrationCode, registerInfo.getUseOrgCode())
.select(JgUseRegistrationManage::getSequenceNbr, JgUseRegistrationManage::getReceiveCompanyCode).one(); .select(JgUseRegistrationManage::getSequenceNbr, JgUseRegistrationManage::getReceiveCompanyCode).one();
......
...@@ -118,45 +118,58 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -118,45 +118,58 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
* 分页查询 * 分页查询
*/ */
public Page<JgMaintenanceContractVo> queryForPage(Page<JgMaintenanceContract> page, String sort, JgMaintenanceContractDto dto, ReginParams reginParams, String client) { public Page<JgMaintenanceContractVo> queryForPage(Page<JgMaintenanceContract> page, String sort, JgMaintenanceContractDto dto, ReginParams reginParams, String client) {
if (ObjectUtils.isEmpty(dto)) { try {
dto = new JgMaintenanceContractDto(); if (ObjectUtils.isEmpty(dto)) {
} dto = new JgMaintenanceContractDto();
Page<JgMaintenanceContractDto> contractList;
Page<JgMaintenanceContractVo> result = new Page<>();
CompanyBo company = reginParams.getCompany();
SortVo sortMap = commonService.sortFieldConversion(sort);
Map<String, Object> companyTypeMap = jrmInstallationNoticeService.getCompanyType();
String companyLevel = "";
String companyType = "";
if (companyTypeMap.containsKey("companyLevel")) {
companyLevel = companyTypeMap.get("companyLevel").toString();
}
if (companyTypeMap.containsKey("companyType")) {
companyType = companyTypeMap.get("companyType").toString();
}
if ("supervision".equals(companyLevel)) {
// 监管单位查询
if (client.equals("jgLook")) {
dto.setOrgBranchCode(company.getOrgCode());
} else { // 接收机构查询
dto.setReceiveOrgCodeFilter(company.getCompanyCode());
} }
} else if ("company".equals(companyLevel)) { Page<JgMaintenanceContractDto> contractList;
if (companyType.contains(CompanyTypeEnum.USE.getCode()) || companyType.contains(CompanyTypeEnum.INDIVIDUAL.getCode())) { Page<JgMaintenanceContractVo> result = new Page<>();
// 使用单位用"使用单位统一信用代码"匹配数据 CompanyBo company = reginParams.getCompany();
dto.setUseUnitCodeFilter(company.getCompanyCode()); SortVo sortMap = commonService.sortFieldConversion(sort);
dto.setRoleIds(null); Map<String, Object> companyTypeMap = jrmInstallationNoticeService.getCompanyType();
String companyLevel = "";
String companyType = "";
if (companyTypeMap.containsKey("companyLevel")) {
companyLevel = companyTypeMap.get("companyLevel").toString();
}
if (companyTypeMap.containsKey("companyType")) {
companyType = companyTypeMap.get("companyType").toString();
}
if ("supervision".equals(companyLevel)) {
// 监管单位查询
if (client.equals("jgLook")) {
dto.setOrgBranchCode(company.getOrgCode());
} else { // 接收机构查询
dto.setReceiveOrgCodeFilter(company.getCompanyCode());
}
} else if ("company".equals(companyLevel)) {
if (companyType.contains(CompanyTypeEnum.USE.getCode()) || companyType.contains(CompanyTypeEnum.INDIVIDUAL.getCode())) {
// 使用单位用"使用单位统一信用代码"匹配数据
dto.setUseUnitCodeFilter(company.getCompanyCode());
dto.setRoleIds(null);
}
if (companyType.contains(CompanyTypeEnum.CONSTRUCTION.getCode())) {
// 维保单位用"维保单位统一信用代码"匹配数据
dto.setMaintenanceUnitCodeFilter(company.getCompanyCode());
}
} }
if (companyType.contains(CompanyTypeEnum.CONSTRUCTION.getCode())) { contractList = maintenanceContractMapper.getContractList(page, sortMap, dto, reginParams.getUserModel().getUserId(), client);
// 维保单位用"维保单位统一信用代码"匹配数据 List<JgMaintenanceContractDto> records = contractList.getRecords().stream().peek(x -> x.setUnitType(company.getCompanyType())).collect(Collectors.toList());
dto.setMaintenanceUnitCodeFilter(company.getCompanyCode()); contractList.setRecords(records);
BeanUtils.copyProperties(contractList, result);
return result;
} catch (Exception ex) {
String msg = ex.getMessage() == null ? "" : ex.getMessage();
if (msg.contains("eyibc decrypt error")
|| msg.contains("EYIBCException")
|| msg.contains("olym jdbc error")
|| msg.contains("数据非法")
|| msg.contains("Code: 100023:sql parse error")
|| msg.contains("decrypt error, code: -65")) {
throw new BadRequest("数据完整性被破坏(解密失败),请联系管理员。");
} }
throw new BadRequest("系统内部错误,请联系管理员。");
} }
contractList = maintenanceContractMapper.getContractList(page, sortMap, dto, reginParams.getUserModel().getUserId(), client);
List<JgMaintenanceContractDto> records = contractList.getRecords().stream().peek(x -> x.setUnitType(company.getCompanyType())).collect(Collectors.toList());
contractList.setRecords(records);
BeanUtils.copyProperties(contractList, result);
return result;
} }
/** /**
......
...@@ -330,7 +330,7 @@ public class SafetyProblemTracingServiceImpl extends BaseService<SafetyProblemTr ...@@ -330,7 +330,7 @@ public class SafetyProblemTracingServiceImpl extends BaseService<SafetyProblemTr
log.error("Other表更新失败,设备record:{},错误原因:{}", records, e.getMessage(), e); log.error("Other表更新失败,设备record:{},错误原因:{}", records, e.getMessage(), e);
} }
// 更新ES状态 // 更新ES状态(添加异常处理)
try { try {
Iterable<ESEquipmentCategoryDto> esEquipmentIter = esEquipmentCategory.findAllById(records); Iterable<ESEquipmentCategoryDto> esEquipmentIter = esEquipmentCategory.findAllById(records);
esEquipmentIter.forEach(dto -> esEquipmentIter.forEach(dto ->
......
...@@ -322,7 +322,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -322,7 +322,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
} }
// 组装人员过滤条件 // 组装人员过滤条件
String orgCode = filter.getString("orgCode"); String orgCode = filter.getString("orgCode");
personOrgCodeBoolMust(orgCode, boolMust); personOrgCodeBoolMust(orgCode, boolMust, StatisticalAnalysisEnum.person.getCode());
this.getPersonBoolQueryBuilder(filterParams, boolMust, filterType); this.getPersonBoolQueryBuilder(filterParams, boolMust, filterType);
if ("custom".equals(filterType)) { if ("custom".equals(filterType)) {
JSONArray leftGroup = filterParams.getJSONArray("group1"); JSONArray leftGroup = filterParams.getJSONArray("group1");
...@@ -403,15 +403,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -403,15 +403,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
return result; return result;
} }
private void personOrgCodeBoolMust(String orgCode, BoolQueryBuilder boolMust) { private void personOrgCodeBoolMust(String orgCode, BoolQueryBuilder boolMust, String type) {
String superviseOrgCodeKey = type.equals(StatisticalAnalysisEnum.person.getCode()) ? "superviseOrgCode" : "superviseOrgCode.keyword";
String officeRegion = commonMapper.getCompanyCodeByOrgCode(orgCode); String officeRegion = commonMapper.getCompanyCodeByOrgCode(orgCode);
BoolQueryBuilder queryBuilder1 = QueryBuilders.boolQuery(); BoolQueryBuilder queryBuilder1 = QueryBuilders.boolQuery();
BoolQueryBuilder queryBuilder2 = QueryBuilders.boolQuery(); BoolQueryBuilder queryBuilder2 = QueryBuilders.boolQuery();
EnhancedDynamicQueryBuilder enhancedDynamicQueryBuilder = new EnhancedDynamicQueryBuilder(); EnhancedDynamicQueryBuilder enhancedDynamicQueryBuilder = new EnhancedDynamicQueryBuilder();
queryBuilder1.must(QueryBuilders.termQuery("superviseOrgCode", "50")) queryBuilder1.must(QueryBuilders.termQuery(superviseOrgCodeKey, "50"))
.must(QueryBuilders.wildcardQuery("officeRegion", "*" + officeRegion + "*")); .must(QueryBuilders.wildcardQuery("officeRegion", "*" + officeRegion + "*"));
queryBuilder2.mustNot(QueryBuilders.termQuery("superviseOrgCode", "50")) queryBuilder2.mustNot(QueryBuilders.termQuery(superviseOrgCodeKey, "50"))
.must(QueryBuilders.prefixQuery("superviseOrgCode", orgCode)); .must(QueryBuilders.prefixQuery(superviseOrgCodeKey, orgCode));
enhancedDynamicQueryBuilder.add(queryBuilder1, or); enhancedDynamicQueryBuilder.add(queryBuilder1, or);
enhancedDynamicQueryBuilder.add(queryBuilder2, or); enhancedDynamicQueryBuilder.add(queryBuilder2, or);
boolMust.must(enhancedDynamicQueryBuilder.build()); boolMust.must(enhancedDynamicQueryBuilder.build());
...@@ -497,14 +498,18 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -497,14 +498,18 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
boolMust.must(licencesQueryBuilder.build()); boolMust.must(licencesQueryBuilder.build());
} else if (k.equals("issueDate")) { } else if (k.equals("issueDate")) {
JSONArray issueDates = (JSONArray) v; JSONArray issueDates = (JSONArray) v;
String startDate = DateUtils.convertDateToString(issueDates.getDate(0), DateUtils.DATE_PATTERN); Date startDate = issueDates.getDate(0);
String endDate = DateUtils.convertDateToString(issueDates.getDate(1), DateUtils.DATE_PATTERN); Date endDate = issueDates.getDate(1);
NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery( if (!"".equals(startDate) && !"".equals(endDate) && !ObjectUtils.isEmpty(startDate) && !ObjectUtils.isEmpty(endDate)) {
"licenses", String startDateString = DateUtils.convertDateToString(startDate, DateUtils.DATE_PATTERN);
QueryBuilders.rangeQuery("licenses." + k).gte(startDate).lte(endDate), String endDateString = DateUtils.convertDateToString(endDate, DateUtils.DATE_PATTERN);
ScoreMode.None NestedQueryBuilder nestedQuery = QueryBuilders.nestedQuery(
); "licenses",
boolMust.filter(nestedQuery); QueryBuilders.rangeQuery("licenses." + k).gte(startDateString).lte(endDateString),
ScoreMode.None
);
boolMust.filter(nestedQuery);
}
} }
} }
} else if (v instanceof String) { } else if (v instanceof String) {
...@@ -570,7 +575,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -570,7 +575,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
BoolQueryBuilder boolMust = QueryBuilders.boolQuery(); BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
String orgCode = filter.getString("orgCode"); String orgCode = filter.getString("orgCode");
boolMust.must(QueryBuilders.prefixQuery("superviseOrgCode.keyword", orgCode)); personOrgCodeBoolMust(orgCode, boolMust, StatisticalAnalysisEnum.company.getCode());
JSONObject filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams"))); JSONObject filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams")));
String filterType = filter.getString("filterType"); String filterType = filter.getString("filterType");
...@@ -1152,7 +1157,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -1152,7 +1157,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
JSONArray dates = (JSONArray) v; JSONArray dates = (JSONArray) v;
String startDate = dates.getString(0); String startDate = dates.getString(0);
String endDate = dates.getString(1); String endDate = dates.getString(1);
if (!"".equals(startDate) && !"".equals(endDate)) { if (!"".equals(startDate) && !"".equals(endDate) && !ObjectUtils.isEmpty(startDate) && !ObjectUtils.isEmpty(endDate)) {
boolMust.filter(QueryBuilders.rangeQuery(field).gte(startDate).lte(endDate)); boolMust.filter(QueryBuilders.rangeQuery(field).gte(startDate).lte(endDate));
} }
} else if (k.equals("EQU_LIST") || k.equals("EQU_CATEGORY") || k.equals("EQU_DEFINE") || k.equals("DATA_QUALITY_SCORE")) { } else if (k.equals("EQU_LIST") || k.equals("EQU_CATEGORY") || k.equals("EQU_DEFINE") || k.equals("DATA_QUALITY_SCORE")) {
...@@ -3142,16 +3147,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -3142,16 +3147,16 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
boolMust.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode)); boolMust.must(QueryBuilders.prefixQuery("ORG_BRANCH_CODE", orgCode));
data = queryDpEquipStatistics(filter, request, builder, boolMust, tabTotalMap); data = queryDpEquipStatistics(filter, request, builder, boolMust, tabTotalMap);
} else if (StatisticalAnalysisEnum.company.getCode().equals(businessType)) { } else if (StatisticalAnalysisEnum.company.getCode().equals(businessType)) {
boolMust.must(QueryBuilders.prefixQuery("superviseOrgCode.keyword", orgCode)); personOrgCodeBoolMust(orgCode, boolMust,StatisticalAnalysisEnum.company.getCode());
data = queryDpCompanyStatistics(filter, request, builder, boolMust, tabTotalMap); data = queryDpCompanyStatistics(filter, request, builder, boolMust, tabTotalMap);
} else if (StatisticalAnalysisEnum.person.getCode().equals(businessType)) { } else if (StatisticalAnalysisEnum.person.getCode().equals(businessType)) {
personOrgCodeBoolMust(orgCode, boolMust); personOrgCodeBoolMust(orgCode, boolMust,StatisticalAnalysisEnum.person.getCode());
data = queryDpPersonStatistics(filter, request, builder, boolMust, tabTotalMap); data = queryDpPersonStatistics(filter, request, builder, boolMust, tabTotalMap);
} else if (StatisticalAnalysisEnum.inspectionCompany.getCode().equals(businessType)) { } else if (StatisticalAnalysisEnum.inspectionCompany.getCode().equals(businessType)) {
boolMust.must(QueryBuilders.prefixQuery("superviseOrgCode.keyword", orgCode)); personOrgCodeBoolMust(orgCode, boolMust,StatisticalAnalysisEnum.company.getCode());
data = queryDpInspectionCompanyStatistics(filter, request, builder, boolMust, tabTotalMap); data = queryDpInspectionCompanyStatistics(filter, request, builder, boolMust, tabTotalMap);
} else { } else {
personOrgCodeBoolMust(orgCode, boolMust); personOrgCodeBoolMust(orgCode, boolMust,StatisticalAnalysisEnum.person.getCode());
data = queryDpInspectionPersonStatistics(filter, request, builder, boolMust, tabTotalMap); data = queryDpInspectionPersonStatistics(filter, request, builder, boolMust, tabTotalMap);
} }
...@@ -3256,7 +3261,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -3256,7 +3261,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
companyBoolMust.must(companyUnitTypeBoolMust); companyBoolMust.must(companyUnitTypeBoolMust);
BoolQueryBuilder personBoolMust = QueryBuilders.boolQuery(); BoolQueryBuilder personBoolMust = QueryBuilders.boolQuery();
personOrgCodeBoolMust(orgCode, personBoolMust); personOrgCodeBoolMust(orgCode, personBoolMust, StatisticalAnalysisEnum.person.getCode());
personBoolMust.must(companyUnitTypeBoolMust); personBoolMust.must(companyUnitTypeBoolMust);
BoolQueryBuilder inspectionCompanyBoolMust = QueryBuilders.boolQuery(); BoolQueryBuilder inspectionCompanyBoolMust = QueryBuilders.boolQuery();
...@@ -3266,7 +3271,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -3266,7 +3271,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
BoolQueryBuilder inspectionPersonBoolMust = QueryBuilders.boolQuery(); BoolQueryBuilder inspectionPersonBoolMust = QueryBuilders.boolQuery();
personOrgCodeBoolMust(orgCode, inspectionPersonBoolMust); personOrgCodeBoolMust(orgCode, personBoolMust, StatisticalAnalysisEnum.person.getCode());
inspectionPersonBoolMust.must(inspectionUnitTypeBoolMust); inspectionPersonBoolMust.must(inspectionUnitTypeBoolMust);
inspectionPersonBoolMust.mustNot(QueryBuilders.wildcardQuery("unitType.keyword", "*检验检测机构*")); inspectionPersonBoolMust.mustNot(QueryBuilders.wildcardQuery("unitType.keyword", "*检验检测机构*"));
...@@ -4034,7 +4039,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl { ...@@ -4034,7 +4039,7 @@ public class ComprehensiveStatisticalAnalysisServiceImpl {
JSONObject filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams"))); JSONObject filterParams = JSONObject.parseObject(JSONObject.toJSONString(filter.get("filterParams")));
String filterType = "advanced"; String filterType = "advanced";
// 组装人员过滤条件 // 组装人员过滤条件
personOrgCodeBoolMust(orgCode, boolQuery); personOrgCodeBoolMust(orgCode, boolQuery, StatisticalAnalysisEnum.person.getCode());
this.getPersonBoolQueryBuilder(filterParams, boolQuery, filterType); this.getPersonBoolQueryBuilder(filterParams, boolQuery, filterType);
// 查询 // 查询
JSONObject expiryDateStatus = this.getExpiryDateStatusGroupStatistics(boolQuery); JSONObject expiryDateStatus = this.getExpiryDateStatusGroupStatistics(boolQuery);
......
...@@ -232,12 +232,18 @@ public class TzBaseEnterpriseInfoServiceImpl ...@@ -232,12 +232,18 @@ public class TzBaseEnterpriseInfoServiceImpl
// } // }
// } // }
SortVo sortMap = userInfoService.sortFieldConversion(sort); SortVo sortMap = userInfoService.sortFieldConversion(sort);
// 密评专用(查tz_flc_reg_unit_info表中的admin_login_pwd字段,以用于验证密评数据完整性)
List<RegUnitInfo> regUnitInfoList = regUnitInfoService.lambdaQuery().select(RegUnitInfo::getUnitCode, RegUnitInfo::getAdminLoginPwd)
.eq(RegUnitInfo::getName, tzBaseEnterpriseInfoDto.getUseUnit()).list();
regUnitInfoList.forEach(info -> System.out.println("unitCode=" + info.getUnitCode() + ", adminLoginPwd=" + info.getAdminLoginPwd()));
return this.baseMapper.pageList(page, tzBaseEnterpriseInfoDto, orgCode, sortMap, officeRegion); return this.baseMapper.pageList(page, tzBaseEnterpriseInfoDto, orgCode, sortMap, officeRegion);
} catch (Exception ex) { } catch (Exception ex) {
String msg = ex.getMessage() == null ? "" : ex.getMessage(); String msg = ex.getMessage() == null ? "" : ex.getMessage();
if (msg.contains("eyibc decrypt error") if (msg.contains("eyibc decrypt error")
|| msg.contains("EYIBCException") || msg.contains("EYIBCException")
|| msg.contains("olym jdbc error") || msg.contains("olym jdbc error")
|| msg.contains("100022:")
|| msg.contains("数据非法") || msg.contains("数据非法")
|| msg.contains("decrypt error, code: -65")) { || msg.contains("decrypt error, code: -65")) {
throw new BadRequest("数据完整性被破坏(解密失败),请联系管理员。"); throw new BadRequest("数据完整性被破坏(解密失败),请联系管理员。");
......
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