Commit cec0c2bf authored by tianbo's avatar tianbo

bugfix:安全追溯生成人员资质问题修改

parent 745928f1
...@@ -4,6 +4,7 @@ import lombok.Getter; ...@@ -4,6 +4,7 @@ import lombok.Getter;
/** /**
* 业务类型枚举 * 业务类型枚举
* 枚举code需同字典表中问题类型(type=ISSUE_TYPE)code保持一致
* *
* @author Administrator * @author Administrator
*/ */
...@@ -18,7 +19,7 @@ public enum SafetyProblemTypeEnum { ...@@ -18,7 +19,7 @@ public enum SafetyProblemTypeEnum {
WBCQ("1", "维保超期", "设备维保超期", "safetyProblemTracing/wb/cq", "outOfMaintenanceRecords"), WBCQ("1", "维保超期", "设备维保超期", "safetyProblemTracing/wb/cq", "outOfMaintenanceRecords"),
WBBA("11", "维保合同备案", "设备维保合同备案", "safetyProblemTracing/wb/ba", null), WBBA("11", "维保合同备案", "设备维保合同备案", "safetyProblemTracing/wb/ba", null),
XKCQ("3", "许可超期", "企业许可超期", "safetyProblemTracing/xk/cq", null), XKCQ("3", "许可超期", "企业许可超期", "safetyProblemTracing/xk/cq", null),
ZZCQ("4", "人员资质超期", "人员资质超期", "safetyProblemTracing/zz/cq", null); ZZCQ("9", "资质超期", "人员资质超期", "safetyProblemTracing/zz/cq", null);
private final String code; private final String code;
......
...@@ -2561,7 +2561,7 @@ ...@@ -2561,7 +2561,7 @@
ei.unit_type unitType, ei.unit_type unitType,
ei.supervise_org_code superviseOrgCode, ei.supervise_org_code superviseOrgCode,
ei.supervise_org_name superviseOrgName, ei.supervise_org_name superviseOrgName,
ul.sequence_nbr licenceSeq, ul.sequence_nbr problemSourceId,
ul.cert_no certNo, ul.cert_no certNo,
ul.expiry_date expiryDate, ul.expiry_date expiryDate,
ul.item_code itemCode, ul.item_code itemCode,
...@@ -2625,7 +2625,7 @@ ...@@ -2625,7 +2625,7 @@
ei.unit_type unitType, ei.unit_type unitType,
ei.supervise_org_code superviseOrgCode, ei.supervise_org_code superviseOrgCode,
ei.supervise_org_name superviseOrgName, ei.supervise_org_name superviseOrgName,
tup.sequence_nbr permissionSeq, tup.sequence_nbr problemSourceId,
tup.cert_no certNo, tup.cert_no certNo,
tup.expiry_date expiryDate, tup.expiry_date expiryDate,
tui.name userName, tui.name userName,
......
...@@ -258,7 +258,7 @@ public class SafetyProblemTracingController extends BaseController { ...@@ -258,7 +258,7 @@ public class SafetyProblemTracingController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "生成维保超期数据", notes = "生成维保超期数据") @ApiOperation(httpMethod = "GET", value = "生成人员资质超期数据", notes = "生成人员资质超期数据")
@GetMapping(value = "/gen/test4") @GetMapping(value = "/gen/test4")
public ResponseModel<String> test4() { public ResponseModel<String> test4() {
safetyProblemTracingGenService.executePersonnalCertificationCheck(); safetyProblemTracingGenService.executePersonnalCertificationCheck();
......
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.handler; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.handler;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.jg.api.enums.SafetyProblemSourceTypeEnum;
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.event.SafetyProblemEvent; import com.yeejoin.amos.boot.module.jg.api.event.SafetyProblemEvent;
import com.yeejoin.amos.boot.module.jg.api.event.handler.SafetyProblemEventHandler; import com.yeejoin.amos.boot.module.jg.api.event.handler.SafetyProblemEventHandler;
...@@ -38,6 +39,12 @@ public class XKCQEventHandler implements SafetyProblemEventHandler { ...@@ -38,6 +39,12 @@ public class XKCQEventHandler implements SafetyProblemEventHandler {
} }
private void generateProblem(JSONArray jsonArray) { private void generateProblem(JSONArray jsonArray) {
jsonArray.forEach(item -> {
JSONObject problemObj = (JSONObject) item;
problemObj.put("sourceType", SafetyProblemSourceTypeEnum.UNIT.getName());
problemObj.put("sourceTypeCode", SafetyProblemSourceTypeEnum.UNIT.getCode());
problemObj.put("problemDesc", "证书编号:" + problemObj.get("certNo") + SafetyProblemTypeEnum.XKCQ.getName());
});
SafetyProblemTopicMessage.generateUnitProblem(jsonArray, SafetyProblemTypeEnum.XKCQ, safetyProblemTracingService); SafetyProblemTopicMessage.generateUnitProblem(jsonArray, SafetyProblemTypeEnum.XKCQ, safetyProblemTracingService);
} }
} }
......
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.handler; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.handler;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.jg.api.enums.SafetyProblemSourceTypeEnum;
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.event.SafetyProblemEvent; import com.yeejoin.amos.boot.module.jg.api.event.SafetyProblemEvent;
import com.yeejoin.amos.boot.module.jg.api.event.handler.SafetyProblemEventHandler; import com.yeejoin.amos.boot.module.jg.api.event.handler.SafetyProblemEventHandler;
...@@ -38,6 +39,12 @@ public class ZZCQEventHandler implements SafetyProblemEventHandler { ...@@ -38,6 +39,12 @@ public class ZZCQEventHandler implements SafetyProblemEventHandler {
} }
private void generateProblem(JSONArray jsonArray) { private void generateProblem(JSONArray jsonArray) {
jsonArray.forEach(item -> {
JSONObject problemObj = (JSONObject) item;
problemObj.put("sourceType", SafetyProblemSourceTypeEnum.PERSONNEL.getName());
problemObj.put("sourceTypeCode", SafetyProblemSourceTypeEnum.PERSONNEL.getCode());
problemObj.put("problemDesc", "证书编号:" + problemObj.getOrDefault("certNo", "") + SafetyProblemTypeEnum.ZZCQ.getName());
});
SafetyProblemTopicMessage.generatePersonnelProblem(jsonArray, SafetyProblemTypeEnum.ZZCQ, safetyProblemTracingService); SafetyProblemTopicMessage.generatePersonnelProblem(jsonArray, SafetyProblemTypeEnum.ZZCQ, safetyProblemTracingService);
} }
} }
......
...@@ -151,6 +151,10 @@ public class SafetyProblemTopicMessage extends EmqxListener { ...@@ -151,6 +151,10 @@ public class SafetyProblemTopicMessage extends EmqxListener {
} }
public static void generateUnitProblem(JSONArray jsonArray, SafetyProblemTypeEnum problemTypeEnum, SafetyProblemTracingServiceImpl safetyProblemTracingService) { public static void generateUnitProblem(JSONArray jsonArray, SafetyProblemTypeEnum problemTypeEnum, SafetyProblemTracingServiceImpl safetyProblemTracingService) {
generateProblem2(jsonArray, problemTypeEnum, safetyProblemTracingService);
}
private static void generateProblem2(JSONArray jsonArray, SafetyProblemTypeEnum problemTypeEnum, SafetyProblemTracingServiceImpl safetyProblemTracingService) {
if (jsonArray == null || problemTypeEnum == null) { if (jsonArray == null || problemTypeEnum == null) {
throw new IllegalArgumentException("jsonObject and problemTypeEnum must not be null."); throw new IllegalArgumentException("jsonObject and problemTypeEnum must not be null.");
} }
...@@ -163,10 +167,10 @@ public class SafetyProblemTopicMessage extends EmqxListener { ...@@ -163,10 +167,10 @@ public class SafetyProblemTopicMessage extends EmqxListener {
SafetyProblemTracing safetyProblemTracing = new SafetyProblemTracing(); SafetyProblemTracing safetyProblemTracing = new SafetyProblemTracing();
safetyProblemTracing.setProblemType(problemTypeEnum.getName()); safetyProblemTracing.setProblemType(problemTypeEnum.getName());
safetyProblemTracing.setProblemTypeCode(problemTypeEnum.getCode()); safetyProblemTracing.setProblemTypeCode(problemTypeEnum.getCode());
safetyProblemTracing.setProblemDesc(problemTypeEnum.getDesc() + "-" + json.getOrDefault("itemName", "") + "-" + json.getOrDefault("subItemName", "")); safetyProblemTracing.setProblemDesc(json.getString("problemDesc"));
safetyProblemTracing.setSourceType(SafetyProblemSourceTypeEnum.UNIT.getName()); safetyProblemTracing.setSourceType(json.getString("sourceType"));
safetyProblemTracing.setSourceTypeCode(SafetyProblemSourceTypeEnum.UNIT.getCode()); safetyProblemTracing.setSourceTypeCode(json.getString("sourceTypeCode"));
safetyProblemTracing.setSourceId(json.getOrDefault("licenceSeq", "").toString()); safetyProblemTracing.setSourceId(json.getString("problemSourceId"));
safetyProblemTracing.setProblemTime(new Date()); safetyProblemTracing.setProblemTime(new Date());
safetyProblemTracing.setPrincipalUnit(json.getOrDefault("useUnit", "").toString()); safetyProblemTracing.setPrincipalUnit(json.getOrDefault("useUnit", "").toString());
safetyProblemTracing.setPrincipalUnitCode(json.getOrDefault("useUnitCode", "").toString()); safetyProblemTracing.setPrincipalUnitCode(json.getOrDefault("useUnitCode", "").toString());
...@@ -187,39 +191,7 @@ public class SafetyProblemTopicMessage extends EmqxListener { ...@@ -187,39 +191,7 @@ public class SafetyProblemTopicMessage extends EmqxListener {
} }
public static void generatePersonnelProblem(JSONArray jsonArray, SafetyProblemTypeEnum problemTypeEnum, SafetyProblemTracingServiceImpl safetyProblemTracingService) { public static void generatePersonnelProblem(JSONArray jsonArray, SafetyProblemTypeEnum problemTypeEnum, SafetyProblemTracingServiceImpl safetyProblemTracingService) {
if (jsonArray == null || problemTypeEnum == null) { generateProblem2(jsonArray, problemTypeEnum, safetyProblemTracingService);
throw new IllegalArgumentException("jsonObject and problemTypeEnum must not be null.");
}
if (!ValidationUtil.isEmpty(jsonArray)) {
List<SafetyProblemTracing> safetyProblemTracingList = jsonArray.stream().map(item -> {
if (!(item instanceof JSONObject)) {
throw new IllegalArgumentException("item is not a JSONObject.");
}
JSONObject json = (JSONObject) item;
SafetyProblemTracing safetyProblemTracing = new SafetyProblemTracing();
safetyProblemTracing.setProblemType(problemTypeEnum.getName());
safetyProblemTracing.setProblemTypeCode(problemTypeEnum.getCode());
safetyProblemTracing.setProblemDesc(problemTypeEnum.getDesc() + "-" + json.getOrDefault("userName", "") + "-" + json.getOrDefault("certNo", ""));
safetyProblemTracing.setSourceType(SafetyProblemSourceTypeEnum.PERSONNEL.getName());
safetyProblemTracing.setSourceTypeCode(SafetyProblemSourceTypeEnum.PERSONNEL.getCode());
safetyProblemTracing.setSourceId(json.getOrDefault("permissionSeq", "").toString());
safetyProblemTracing.setProblemTime(new Date());
safetyProblemTracing.setPrincipalUnit(json.getOrDefault("useUnit", "").toString());
safetyProblemTracing.setPrincipalUnitCode(json.getOrDefault("useUnitCode", "").toString());
safetyProblemTracing.setPrincipalUnitType(json.getOrDefault("unitType", "").toString());
safetyProblemTracing.setGoverningBody(json.getOrDefault("superviseOrgName", "").toString());
safetyProblemTracing.setGoverningBodyCode(json.getOrDefault("useUnitCode", "").toString());
safetyProblemTracing.setGoverningBodyOrgCode(json.getOrDefault("superviseOrgCode", "").toString());
safetyProblemTracing.setCreateDate(new Date());
safetyProblemTracing.setProblemStatus(SafetyProblemStatusEnum.UNHANDLED.getName());
safetyProblemTracing.setProblemStatusCode(SafetyProblemStatusEnum.UNHANDLED.getCode());
return safetyProblemTracing;
}).collect(Collectors.toList());
safetyProblemTracingService.saveOrUpdateBatchByColumns(safetyProblemTracingList,
safetyProblemTracing -> new QueryWrapper<>()
.eq("problem_type_code", safetyProblemTracing.getProblemTypeCode())
.eq("source_id", safetyProblemTracing.getSourceId())
.eq("problem_status_code", SafetyProblemStatusEnum.UNHANDLED.getCode()));}
} }
public String buildTopic(String topic) { public String buildTopic(String topic) {
......
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