Commit cbbe6318 authored by suhuiguang's avatar suhuiguang

1.修改检验检测结果生成时,在相同单位同时开通检验和检测时,冗余的结果类型不正确

parent 20c0fcdf
...@@ -20,8 +20,8 @@ import java.util.List; ...@@ -20,8 +20,8 @@ import java.util.List;
public enum BizTypeEnum { public enum BizTypeEnum {
SUPERVISE("supervise", "监督检验","115"), SUPERVISE("supervise", "监督检验","115"),
FIRST_INSPECTION("firstinspect", "定检","116"), FIRST_INSPECTION("firstinspect", "定(首)检","116"),
DETECTION("detection", "检测","117"), DETECTION("detection", "电梯检测","117"),
BUSINESS_OPEN("businessOpen", "检验检测业务开通","114"); BUSINESS_OPEN("businessOpen", "检验检测业务开通","114");
private String code; private String code;
...@@ -46,6 +46,15 @@ public enum BizTypeEnum { ...@@ -46,6 +46,15 @@ public enum BizTypeEnum {
return null; return null;
} }
public static BizTypeEnum getInstance(String code) {
for (BizTypeEnum c : BizTypeEnum.values()) {
if (c.getCode().equals(code)){
return c;
}
}
return null;
}
public static String getNumByCode(String code) { public static String getNumByCode(String code) {
for (BizTypeEnum c : BizTypeEnum.values()) { for (BizTypeEnum c : BizTypeEnum.values()) {
if (c.getCode().equals(code)){ if (c.getCode().equals(code)){
......
...@@ -248,11 +248,13 @@ public class InspectionApplicationPushEventListener implements ApplicationListen ...@@ -248,11 +248,13 @@ public class InspectionApplicationPushEventListener implements ApplicationListen
} }
private void castStr2JsonField(Map<String, Object> echParamMap) { private void castStr2JsonField(Map<String, Object> echParamMap) {
echParamMap.forEach((k, v) -> { if(echParamMap != null){
if (JyjcConstant.TECH_PARAM_JSON_FIELDS.contains(k) && v != null) { echParamMap.forEach((k, v) -> {
echParamMap.put(k, JSON.parse(v.toString())); if (JyjcConstant.TECH_PARAM_JSON_FIELDS.contains(k) && v != null) {
} echParamMap.put(k, JSON.parse(v.toString()));
}); }
});
}
} }
private String getAddressByRecord(String equipUnicode) { private String getAddressByRecord(String equipUnicode) {
......
...@@ -18,10 +18,7 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; ...@@ -18,10 +18,7 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.biz.common.workflow.feign.WorkflowFeignService; import com.yeejoin.amos.boot.biz.common.workflow.feign.WorkflowFeignService;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto; import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.jyjc.api.entity.*; import com.yeejoin.amos.boot.module.jyjc.api.entity.*;
import com.yeejoin.amos.boot.module.jyjc.api.enums.BizTypeEnum; import com.yeejoin.amos.boot.module.jyjc.api.enums.*;
import com.yeejoin.amos.boot.module.jyjc.api.enums.DocumentEnum;
import com.yeejoin.amos.boot.module.jyjc.api.enums.ResultStatusEnum;
import com.yeejoin.amos.boot.module.jyjc.api.enums.ResultTypeEnum;
import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcInspectionApplicationEquipMapper; import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcInspectionApplicationEquipMapper;
import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcInspectionApplicationMapper; import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcInspectionApplicationMapper;
import com.yeejoin.amos.boot.module.jyjc.api.model.*; import com.yeejoin.amos.boot.module.jyjc.api.model.*;
...@@ -596,7 +593,7 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec ...@@ -596,7 +593,7 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
resultModel.setApplicationUnitName(inspectionApplicationModel.getApplicationUnitName()); resultModel.setApplicationUnitName(inspectionApplicationModel.getApplicationUnitName());
resultModel.setResultStatus(ResultStatusEnum.NO_RESULT.getCode()); resultModel.setResultStatus(ResultStatusEnum.NO_RESULT.getCode());
resultModel.setApplicationDate(inspectionApplicationModel.getApplicationDate()); resultModel.setApplicationDate(inspectionApplicationModel.getApplicationDate());
resultModel.setResultType(inspectionApplicationModel.getResultType());
resultModel.setInspectionType(inspectionApplicationModel.getInspectionType()); resultModel.setInspectionType(inspectionApplicationModel.getInspectionType());
resultModel.setInspectionTypeName(this.getDictNameByCode(inspectionApplicationModel.getInspectionType())); resultModel.setInspectionTypeName(this.getDictNameByCode(inspectionApplicationModel.getInspectionType()));
// 解析设备 // 解析设备
...@@ -609,12 +606,41 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec ...@@ -609,12 +606,41 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
resultModel.setEquCategory(applicationEquipModels.get(i).getEquCategory()); resultModel.setEquCategory(applicationEquipModels.get(i).getEquCategory());
resultModel.setEquList(applicationEquipModels.get(i).getEquList()); resultModel.setEquList(applicationEquipModels.get(i).getEquList());
resultModel.setIsExistNc(false); resultModel.setIsExistNc(false);
this.setResultTypeByBizType(resultModel, inspectionApplicationModel.getBizType());
resultModels.add(resultModel); resultModels.add(resultModel);
} }
inspectionResultService.saveOrUpdateBatch(resultModels); inspectionResultService.saveOrUpdateBatch(resultModels);
this.pushInspectionApplication(inspectionApplicationModel); this.pushInspectionApplication(inspectionApplicationModel);
} }
private void setResultTypeByBizType(JyjcInspectionResult resultModel, String bizType) {
// 由于一个检验检测单位可以申请开通检验、检测两个申请,即确定一个 开通申请的维度为:单位编码 + 开通业务类型
// 但是表里面放的使用单位的公司编码,导致无法匹配到正确的开通申请,故按照单位编码+ 开通类型 + 状态查询开通申请
BizTypeEnum bizTypeEnum = BizTypeEnum.getInstance(bizType);
String openBizType = "";
assert bizTypeEnum != null;
switch (bizTypeEnum) {
case SUPERVISE:
case FIRST_INSPECTION:
openBizType = OpenBizTypeEnum.JY.getCode();
break;
case DETECTION:
openBizType = OpenBizTypeEnum.JC.getCode();
break;
default:
break;
}
LambdaQueryWrapper<JyjcOpeningApplication> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(JyjcOpeningApplication::getUnitCode, resultModel.getInspectionUnitCode());
queryWrapper.eq(JyjcOpeningApplication::getOpenBizType, openBizType);
queryWrapper.eq(JyjcOpeningApplication::getStatus, FlowStatusEnum.TO_BE_FINISHED.getCode());
queryWrapper.select(JyjcOpeningApplication::getResultType);
List<JyjcOpeningApplication> applicationList = jyjcOpeningApplicationService.list(queryWrapper);
if (applicationList.size() > 0) {
resultModel.setResultType(applicationList.get(0).getResultType());
}
}
private void pushInspectionApplication(JyjcInspectionApplicationModel inspectionApplicationModel) { private void pushInspectionApplication(JyjcInspectionApplicationModel inspectionApplicationModel) {
// 将检验检测申请信息推送至对应的检验机构 // 将检验检测申请信息推送至对应的检验机构
if (inspectionApplicationModel.getResultType().equals(ResultTypeEnum.INTEGRATED.getCode())) { if (inspectionApplicationModel.getResultType().equals(ResultTypeEnum.INTEGRATED.getCode())) {
......
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