diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java index 34e765b..8f057d9 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java @@ -55,7 +55,8 @@ /** * 审批之后再次生成证书和原始记录(为了生成签名和公章等,进行再次的图片的合成) */ - @GetMapping("/again/certificate") + @ApiOperation("审批生成证书和原始记录") + @GetMapping("/generate/certificate") @ResponseBody public void againCreateCertificate(@RequestBody @Valid IdDTO idDTO) { measureApprovalService.againCreateCertificate(idDTO.getId()); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java index 34e765b..8f057d9 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java @@ -55,7 +55,8 @@ /** * 审批之后再次生成证书和原始记录(为了生成签名和公章等,进行再次的图片的合成) */ - @GetMapping("/again/certificate") + @ApiOperation("审批生成证书和原始记录") + @GetMapping("/generate/certificate") @ResponseBody public void againCreateCertificate(@RequestBody @Valid IdDTO idDTO) { measureApprovalService.againCreateCertificate(idDTO.getId()); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java index 7dd19b2..6bf1963 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java @@ -51,7 +51,7 @@ // TODO: 2023/10/18 柴壮:核查数据管理中点击生成核查记录(生成核查记录编号),找到模板、填充模板,调用草稿箱保存接口后(保证编号填充时和保存草稿一致), // 即在保存草稿箱接口中保存成功后实现填充模板逻辑,最后提供查询接口显示在核查记录管理新建页面 - @ApiOperation("草稿箱-保存") + @ApiOperation("审批生成证书和原始记录") @PostMapping("/generate/certificate") public void againCreateFile(@RequestBody @Valid IdDTO idDTO) { checkRecordApprovalService.againCreateFile(idDTO.getId()); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java index 34e765b..8f057d9 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java @@ -55,7 +55,8 @@ /** * 审批之后再次生成证书和原始记录(为了生成签名和公章等,进行再次的图片的合成) */ - @GetMapping("/again/certificate") + @ApiOperation("审批生成证书和原始记录") + @GetMapping("/generate/certificate") @ResponseBody public void againCreateCertificate(@RequestBody @Valid IdDTO idDTO) { measureApprovalService.againCreateCertificate(idDTO.getId()); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java index 7dd19b2..6bf1963 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java @@ -51,7 +51,7 @@ // TODO: 2023/10/18 柴壮:核查数据管理中点击生成核查记录(生成核查记录编号),找到模板、填充模板,调用草稿箱保存接口后(保证编号填充时和保存草稿一致), // 即在保存草稿箱接口中保存成功后实现填充模板逻辑,最后提供查询接口显示在核查记录管理新建页面 - @ApiOperation("草稿箱-保存") + @ApiOperation("审批生成证书和原始记录") @PostMapping("/generate/certificate") public void againCreateFile(@RequestBody @Valid IdDTO idDTO) { checkRecordApprovalService.againCreateFile(idDTO.getId()); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleParamsEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleParamsEnum.java new file mode 100644 index 0000000..5489ae5 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleParamsEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums; + +public interface PrintFileModuleParamsEnum { + + String INDICATED_VALUE_ONE = "valueOne"; + + String INDICATED_VALUE_TWO = "valueTwo"; + + String INDICATED_VALUE_THREE = "valueThree"; + + String INDICATED_VALUE_FOUR = "valueFour"; + + String INDICATED_VALUE_FIVE = "valueFive"; + + String INDICATED_VALUE_SIX = "valueSix"; + + String AVERAGE_VALUE = "averageValue"; + + String MAX_INDICATING_ERROR = "maxIndicatingError"; + + String MAXIMUM_ERROR = "maximumError"; + + String UNIT_I = "unitI"; + + String UNIT_V = "unitV"; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java index 34e765b..8f057d9 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java @@ -55,7 +55,8 @@ /** * 审批之后再次生成证书和原始记录(为了生成签名和公章等,进行再次的图片的合成) */ - @GetMapping("/again/certificate") + @ApiOperation("审批生成证书和原始记录") + @GetMapping("/generate/certificate") @ResponseBody public void againCreateCertificate(@RequestBody @Valid IdDTO idDTO) { measureApprovalService.againCreateCertificate(idDTO.getId()); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java index 7dd19b2..6bf1963 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java @@ -51,7 +51,7 @@ // TODO: 2023/10/18 柴壮:核查数据管理中点击生成核查记录(生成核查记录编号),找到模板、填充模板,调用草稿箱保存接口后(保证编号填充时和保存草稿一致), // 即在保存草稿箱接口中保存成功后实现填充模板逻辑,最后提供查询接口显示在核查记录管理新建页面 - @ApiOperation("草稿箱-保存") + @ApiOperation("审批生成证书和原始记录") @PostMapping("/generate/certificate") public void againCreateFile(@RequestBody @Valid IdDTO idDTO) { checkRecordApprovalService.againCreateFile(idDTO.getId()); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleParamsEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleParamsEnum.java new file mode 100644 index 0000000..5489ae5 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleParamsEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums; + +public interface PrintFileModuleParamsEnum { + + String INDICATED_VALUE_ONE = "valueOne"; + + String INDICATED_VALUE_TWO = "valueTwo"; + + String INDICATED_VALUE_THREE = "valueThree"; + + String INDICATED_VALUE_FOUR = "valueFour"; + + String INDICATED_VALUE_FIVE = "valueFive"; + + String INDICATED_VALUE_SIX = "valueSix"; + + String AVERAGE_VALUE = "averageValue"; + + String MAX_INDICATING_ERROR = "maxIndicatingError"; + + String MAXIMUM_ERROR = "maximumError"; + + String UNIT_I = "unitI"; + + String UNIT_V = "unitV"; +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java index e4d8fe0..3f29cc1 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java @@ -15,14 +15,17 @@ import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BizBusinessCertificatePrintMapper; import com.casic.missiles.mapper.business.BizBusinessDeviceMeasureApprovalMapper; import com.casic.missiles.mapper.business.BusinessLabExecutiveInfoMapper; +import com.casic.missiles.model.business.BizBusinessCertificatePrint; import com.casic.missiles.model.business.BizBusinessDeviceMeasureApproval; import com.casic.missiles.service.Impl.GeneralApprovalServiceImpl; import com.casic.missiles.service.Impl.eqpt.GenericEqptDataProvider; import com.casic.missiles.service.business.IBizBusinessDeviceMeasureApprovalService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NoGeneratorUtil; +import com.casic.missiles.utils.SpringContextUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -80,6 +83,7 @@ public void againCreateCertificate(Long id) { BizBusinessDeviceMeasureApproval deviceMeasureApproval = this.baseMapper.selectById(id); genericEqptDataProvider.excuteMeasureTaskAsyn(deviceMeasureApproval,deviceMeasureApproval.getId(),deviceMeasureApproval.getCertificateWordFile(),deviceMeasureApproval.getOriginalRecordWordFile()); + saveCertificatePrintInfo(deviceMeasureApproval); } @@ -133,4 +137,27 @@ return response; } + /** + * 通过审批的证书报告,生成证书打印信息 + */ + private void saveCertificatePrintInfo(BizBusinessDeviceMeasureApproval measureApproval) { + BizBusinessCertificatePrintMapper certificatePrintMapper = SpringContextUtil.getBean(BizBusinessCertificatePrintMapper.class); + BizBusinessCertificatePrint certificatePrint = getCertificatePrintByReport(measureApproval); + int row = certificatePrintMapper.insert(certificatePrint); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.APPROVAL_PROCESSOR_HANDLE_FAILED); + } + } + + private BizBusinessCertificatePrint getCertificatePrintByReport(BizBusinessDeviceMeasureApproval measureApproval) { + BizBusinessCertificatePrint certificatePrint = new BizBusinessCertificatePrint(); + certificatePrint.setReportId(measureApproval.getId()); + certificatePrint.setPrintNum(0); + certificatePrint.setPrintStatus(CertificatePrintStatusEnum.PRINTABLE); + certificatePrint.setPrintFileName(measureApproval.getCertificateFile()); + certificatePrint.setCreateUserId(measureApproval.getCreateUserId()); + certificatePrint.setCreateUserName(measureApproval.getCreateUserName()); + return certificatePrint; + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java index 34e765b..8f057d9 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java @@ -55,7 +55,8 @@ /** * 审批之后再次生成证书和原始记录(为了生成签名和公章等,进行再次的图片的合成) */ - @GetMapping("/again/certificate") + @ApiOperation("审批生成证书和原始记录") + @GetMapping("/generate/certificate") @ResponseBody public void againCreateCertificate(@RequestBody @Valid IdDTO idDTO) { measureApprovalService.againCreateCertificate(idDTO.getId()); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java index 7dd19b2..6bf1963 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java @@ -51,7 +51,7 @@ // TODO: 2023/10/18 柴壮:核查数据管理中点击生成核查记录(生成核查记录编号),找到模板、填充模板,调用草稿箱保存接口后(保证编号填充时和保存草稿一致), // 即在保存草稿箱接口中保存成功后实现填充模板逻辑,最后提供查询接口显示在核查记录管理新建页面 - @ApiOperation("草稿箱-保存") + @ApiOperation("审批生成证书和原始记录") @PostMapping("/generate/certificate") public void againCreateFile(@RequestBody @Valid IdDTO idDTO) { checkRecordApprovalService.againCreateFile(idDTO.getId()); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleParamsEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleParamsEnum.java new file mode 100644 index 0000000..5489ae5 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleParamsEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums; + +public interface PrintFileModuleParamsEnum { + + String INDICATED_VALUE_ONE = "valueOne"; + + String INDICATED_VALUE_TWO = "valueTwo"; + + String INDICATED_VALUE_THREE = "valueThree"; + + String INDICATED_VALUE_FOUR = "valueFour"; + + String INDICATED_VALUE_FIVE = "valueFive"; + + String INDICATED_VALUE_SIX = "valueSix"; + + String AVERAGE_VALUE = "averageValue"; + + String MAX_INDICATING_ERROR = "maxIndicatingError"; + + String MAXIMUM_ERROR = "maximumError"; + + String UNIT_I = "unitI"; + + String UNIT_V = "unitV"; +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java index e4d8fe0..3f29cc1 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java @@ -15,14 +15,17 @@ import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BizBusinessCertificatePrintMapper; import com.casic.missiles.mapper.business.BizBusinessDeviceMeasureApprovalMapper; import com.casic.missiles.mapper.business.BusinessLabExecutiveInfoMapper; +import com.casic.missiles.model.business.BizBusinessCertificatePrint; import com.casic.missiles.model.business.BizBusinessDeviceMeasureApproval; import com.casic.missiles.service.Impl.GeneralApprovalServiceImpl; import com.casic.missiles.service.Impl.eqpt.GenericEqptDataProvider; import com.casic.missiles.service.business.IBizBusinessDeviceMeasureApprovalService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NoGeneratorUtil; +import com.casic.missiles.utils.SpringContextUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -80,6 +83,7 @@ public void againCreateCertificate(Long id) { BizBusinessDeviceMeasureApproval deviceMeasureApproval = this.baseMapper.selectById(id); genericEqptDataProvider.excuteMeasureTaskAsyn(deviceMeasureApproval,deviceMeasureApproval.getId(),deviceMeasureApproval.getCertificateWordFile(),deviceMeasureApproval.getOriginalRecordWordFile()); + saveCertificatePrintInfo(deviceMeasureApproval); } @@ -133,4 +137,27 @@ return response; } + /** + * 通过审批的证书报告,生成证书打印信息 + */ + private void saveCertificatePrintInfo(BizBusinessDeviceMeasureApproval measureApproval) { + BizBusinessCertificatePrintMapper certificatePrintMapper = SpringContextUtil.getBean(BizBusinessCertificatePrintMapper.class); + BizBusinessCertificatePrint certificatePrint = getCertificatePrintByReport(measureApproval); + int row = certificatePrintMapper.insert(certificatePrint); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.APPROVAL_PROCESSOR_HANDLE_FAILED); + } + } + + private BizBusinessCertificatePrint getCertificatePrintByReport(BizBusinessDeviceMeasureApproval measureApproval) { + BizBusinessCertificatePrint certificatePrint = new BizBusinessCertificatePrint(); + certificatePrint.setReportId(measureApproval.getId()); + certificatePrint.setPrintNum(0); + certificatePrint.setPrintStatus(CertificatePrintStatusEnum.PRINTABLE); + certificatePrint.setPrintFileName(measureApproval.getCertificateFile()); + certificatePrint.setCreateUserId(measureApproval.getCreateUserId()); + certificatePrint.setCreateUserName(measureApproval.getCreateUserName()); + return certificatePrint; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java index 51cd506..2b4d377 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.PrintFileModuleNameEnum; +import com.casic.missiles.enums.PrintFileModuleParamsEnum; import com.casic.missiles.enums.business.MeasureItemBelongStandardEquipmentDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BizBusinessDeviceMeasureApprovalMapper; @@ -20,6 +21,7 @@ import com.casic.missiles.service.listeners.register.PrintFileRegister; import com.casic.missiles.utils.SnowflakeUtil; import com.casic.missiles.utils.SpringContextUtil; +import io.swagger.annotations.ApiModelProperty; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -37,7 +39,7 @@ @Component(MeasureItemBelongStandardEquipmentDictEnum.PISTON_GAUGE) @RequiredArgsConstructor @Slf4j -public class PressureGaugeHandler extends StandardEquipmentSupport implements PrintFileModuleNameEnum, StandardEquipmentPrint { +public class PressureGaugeHandler extends StandardEquipmentSupport implements PrintFileModuleNameEnum, PrintFileModuleParamsEnum, StandardEquipmentPrint { private final PrintFileRegister printFileRegister; private final SnowflakeUtil snowflakeUtil; @@ -71,6 +73,7 @@ List customTemplateUrls = new ArrayList<>(1); AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); String name = dictService.getDictNameByCode("conclusion", request.getConclusion()); + handlerCheckData(map, request); if (StringUtils.isNotEmpty(name)) { map.put("conclusion", name); } @@ -202,4 +205,109 @@ } } + /** + * 处理核查数据的,遵循列循环 + * 1、首先对数据进行电流电压的区分 + * 2、之后通过对数据的分类,添加到指定的数据5、10、20的行程中, + * 其中最大允许误差和最大示值误差分别放入不同的list集合 + * 3、将处理完毕的数据,存放到数据结构map中 + * + * @param map + * @param request + */ + private void handlerCheckData(Map map, BizEquipmentStandardCheckRecordApproval request) { + //直流电压 + Map voltageMap = request.getCheckDataPistonGaugeList().stream().filter( + e -> e.getParams().contains("电压") + ).collect(Collectors.toMap(BizEquipmentStandardCheckDataPistonGauge::getCheckPoint, e -> e, (e1, e2) -> e1)); + List voltageCheckPoints = Arrays.asList("5", "10", "20"); + + populateCheckData(map, voltageMap, voltageCheckPoints, "voltages", "maxs1", UNIT_V); + //直流电流 + Map electricityMap = request.getCheckDataPistonGaugeList().stream().filter( + e -> e.getParams().contains("电流") + ).collect(Collectors.toMap(BizEquipmentStandardCheckDataPistonGauge::getCheckPoint, e -> e, (e1, e2) -> e1)); + List electricityCheckPoints = Arrays.asList("4", "10", "20"); + populateCheckData(map, electricityMap, electricityCheckPoints, "electricitys", "maxs2", UNIT_I); + } + + /** + * @param checkDataMap + * @param paramKey + * @param maximumKey + */ + private void populateCheckData(Map map, Map checkDataMap, + List checkPoints, + String paramKey, String maximumKey, String unitParam) { + //创建数据list + List> standardCheckList = new ArrayList<>(); + map.put(paramKey, standardCheckList); + if(ObjectUtils.isEmpty(map.get("technologyFile"))){ + map.put("technologyFile","无"); + } + //创建最大界限值list + List> maximumList = new ArrayList<>(); + map.put(maximumKey, maximumList); + //数据填充处理 + for (String checkPoint : checkPoints) { + if (checkDataMap.containsKey(checkPoint)) { + BizEquipmentStandardCheckDataPistonGauge checkDataPistonGauge = checkDataMap.get(checkPoint); + map.put(unitParam, checkDataPistonGauge.getUnit()); + doPopulateCheckData(map, checkDataPistonGauge, paramKey, maximumKey); + } else { + //如果没有,则进行填充空的对象 + BizEquipmentStandardCheckDataPistonGauge pistonGauge = new BizEquipmentStandardCheckDataPistonGauge(); + doPopulateCheckData(map, pistonGauge, paramKey, maximumKey); + } + } + } + + /** + * 填充该数据 + */ + private void doPopulateCheckData(Map map, BizEquipmentStandardCheckDataPistonGauge pistonGauge, String paramKey, String avaParams) { + List> standardCheckList = (List) map.get(paramKey); + List> maximumList = (List) map.get(avaParams); + Map testCheckData = new HashMap<>(); + testCheckData.put(INDICATED_VALUE_ONE, StringUtils.isNotEmpty(pistonGauge.getTestValueOne()) ? + pistonGauge.getTestValueOne() : "/"); + testCheckData.put(INDICATED_VALUE_TWO, StringUtils.isNotEmpty(pistonGauge.getTestValueTwo()) ? + pistonGauge.getTestValueTwo() : "/"); + testCheckData.put(INDICATED_VALUE_THREE, StringUtils.isNotEmpty(pistonGauge.getTestValueThree()) ? + pistonGauge.getTestValueThree() : "/"); + testCheckData.put(INDICATED_VALUE_FOUR, StringUtils.isNotEmpty(pistonGauge.getTestValueFour()) ? + pistonGauge.getTestValueFour() : "/"); + testCheckData.put(INDICATED_VALUE_FIVE, StringUtils.isNotEmpty(pistonGauge.getTestValueFive()) ? + pistonGauge.getTestValueFive() : "/"); + testCheckData.put(INDICATED_VALUE_SIX, StringUtils.isNotEmpty(pistonGauge.getTestValueSix()) ? + pistonGauge.getTestValueSix() : "/"); + testCheckData.put(AVERAGE_VALUE, StringUtils.isNotEmpty(pistonGauge.getAverageValue()) ? + pistonGauge.getAverageValue() : "/"); + standardCheckList.add(testCheckData); + + Map measureCheckData = new HashMap<>(); + measureCheckData.put(INDICATED_VALUE_ONE, StringUtils.isNotEmpty(pistonGauge.getMeasureValueOne()) ? + pistonGauge.getMeasureValueOne() : "/"); + measureCheckData.put(INDICATED_VALUE_TWO, StringUtils.isNotEmpty(pistonGauge.getMeasureValueTwo()) ? + pistonGauge.getMeasureValueTwo() : "/"); + measureCheckData.put(INDICATED_VALUE_THREE, StringUtils.isNotEmpty(pistonGauge.getMeasureValueThree()) ? + pistonGauge.getMeasureValueThree() : "/"); + measureCheckData.put(INDICATED_VALUE_FOUR, StringUtils.isNotEmpty(pistonGauge.getMeasureValueFour()) ? + pistonGauge.getMeasureValueFour() : "/"); + measureCheckData.put(INDICATED_VALUE_FIVE, StringUtils.isNotEmpty(pistonGauge.getMeasureValueFive()) ? + pistonGauge.getMeasureValueFive() : "/"); + measureCheckData.put(INDICATED_VALUE_SIX, StringUtils.isNotEmpty(pistonGauge.getMeasureValueSix()) ? + pistonGauge.getMeasureValueSix() : "/"); + measureCheckData.put(AVERAGE_VALUE, StringUtils.isNotEmpty(pistonGauge.getMeasureAverageValue()) ? + pistonGauge.getMeasureAverageValue() : "/"); + standardCheckList.add(measureCheckData); + //最带界限值 + Map maximumMap = new HashMap<>(); + maximumMap.put(MAX_INDICATING_ERROR, StringUtils.isNotEmpty(pistonGauge.getMaxIndicatingError()) ? + pistonGauge.getMaxIndicatingError() : "/"); + maximumMap.put(MAXIMUM_ERROR, StringUtils.isNotEmpty(pistonGauge.getMaximumError()) ? + pistonGauge.getMaximumError() : "/"); + maximumList.add(maximumMap); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java index 34e765b..8f057d9 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java @@ -55,7 +55,8 @@ /** * 审批之后再次生成证书和原始记录(为了生成签名和公章等,进行再次的图片的合成) */ - @GetMapping("/again/certificate") + @ApiOperation("审批生成证书和原始记录") + @GetMapping("/generate/certificate") @ResponseBody public void againCreateCertificate(@RequestBody @Valid IdDTO idDTO) { measureApprovalService.againCreateCertificate(idDTO.getId()); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java index 7dd19b2..6bf1963 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java @@ -51,7 +51,7 @@ // TODO: 2023/10/18 柴壮:核查数据管理中点击生成核查记录(生成核查记录编号),找到模板、填充模板,调用草稿箱保存接口后(保证编号填充时和保存草稿一致), // 即在保存草稿箱接口中保存成功后实现填充模板逻辑,最后提供查询接口显示在核查记录管理新建页面 - @ApiOperation("草稿箱-保存") + @ApiOperation("审批生成证书和原始记录") @PostMapping("/generate/certificate") public void againCreateFile(@RequestBody @Valid IdDTO idDTO) { checkRecordApprovalService.againCreateFile(idDTO.getId()); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleParamsEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleParamsEnum.java new file mode 100644 index 0000000..5489ae5 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleParamsEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums; + +public interface PrintFileModuleParamsEnum { + + String INDICATED_VALUE_ONE = "valueOne"; + + String INDICATED_VALUE_TWO = "valueTwo"; + + String INDICATED_VALUE_THREE = "valueThree"; + + String INDICATED_VALUE_FOUR = "valueFour"; + + String INDICATED_VALUE_FIVE = "valueFive"; + + String INDICATED_VALUE_SIX = "valueSix"; + + String AVERAGE_VALUE = "averageValue"; + + String MAX_INDICATING_ERROR = "maxIndicatingError"; + + String MAXIMUM_ERROR = "maximumError"; + + String UNIT_I = "unitI"; + + String UNIT_V = "unitV"; +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java index e4d8fe0..3f29cc1 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java @@ -15,14 +15,17 @@ import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BizBusinessCertificatePrintMapper; import com.casic.missiles.mapper.business.BizBusinessDeviceMeasureApprovalMapper; import com.casic.missiles.mapper.business.BusinessLabExecutiveInfoMapper; +import com.casic.missiles.model.business.BizBusinessCertificatePrint; import com.casic.missiles.model.business.BizBusinessDeviceMeasureApproval; import com.casic.missiles.service.Impl.GeneralApprovalServiceImpl; import com.casic.missiles.service.Impl.eqpt.GenericEqptDataProvider; import com.casic.missiles.service.business.IBizBusinessDeviceMeasureApprovalService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NoGeneratorUtil; +import com.casic.missiles.utils.SpringContextUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -80,6 +83,7 @@ public void againCreateCertificate(Long id) { BizBusinessDeviceMeasureApproval deviceMeasureApproval = this.baseMapper.selectById(id); genericEqptDataProvider.excuteMeasureTaskAsyn(deviceMeasureApproval,deviceMeasureApproval.getId(),deviceMeasureApproval.getCertificateWordFile(),deviceMeasureApproval.getOriginalRecordWordFile()); + saveCertificatePrintInfo(deviceMeasureApproval); } @@ -133,4 +137,27 @@ return response; } + /** + * 通过审批的证书报告,生成证书打印信息 + */ + private void saveCertificatePrintInfo(BizBusinessDeviceMeasureApproval measureApproval) { + BizBusinessCertificatePrintMapper certificatePrintMapper = SpringContextUtil.getBean(BizBusinessCertificatePrintMapper.class); + BizBusinessCertificatePrint certificatePrint = getCertificatePrintByReport(measureApproval); + int row = certificatePrintMapper.insert(certificatePrint); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.APPROVAL_PROCESSOR_HANDLE_FAILED); + } + } + + private BizBusinessCertificatePrint getCertificatePrintByReport(BizBusinessDeviceMeasureApproval measureApproval) { + BizBusinessCertificatePrint certificatePrint = new BizBusinessCertificatePrint(); + certificatePrint.setReportId(measureApproval.getId()); + certificatePrint.setPrintNum(0); + certificatePrint.setPrintStatus(CertificatePrintStatusEnum.PRINTABLE); + certificatePrint.setPrintFileName(measureApproval.getCertificateFile()); + certificatePrint.setCreateUserId(measureApproval.getCreateUserId()); + certificatePrint.setCreateUserName(measureApproval.getCreateUserName()); + return certificatePrint; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java index 51cd506..2b4d377 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.PrintFileModuleNameEnum; +import com.casic.missiles.enums.PrintFileModuleParamsEnum; import com.casic.missiles.enums.business.MeasureItemBelongStandardEquipmentDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BizBusinessDeviceMeasureApprovalMapper; @@ -20,6 +21,7 @@ import com.casic.missiles.service.listeners.register.PrintFileRegister; import com.casic.missiles.utils.SnowflakeUtil; import com.casic.missiles.utils.SpringContextUtil; +import io.swagger.annotations.ApiModelProperty; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -37,7 +39,7 @@ @Component(MeasureItemBelongStandardEquipmentDictEnum.PISTON_GAUGE) @RequiredArgsConstructor @Slf4j -public class PressureGaugeHandler extends StandardEquipmentSupport implements PrintFileModuleNameEnum, StandardEquipmentPrint { +public class PressureGaugeHandler extends StandardEquipmentSupport implements PrintFileModuleNameEnum, PrintFileModuleParamsEnum, StandardEquipmentPrint { private final PrintFileRegister printFileRegister; private final SnowflakeUtil snowflakeUtil; @@ -71,6 +73,7 @@ List customTemplateUrls = new ArrayList<>(1); AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); String name = dictService.getDictNameByCode("conclusion", request.getConclusion()); + handlerCheckData(map, request); if (StringUtils.isNotEmpty(name)) { map.put("conclusion", name); } @@ -202,4 +205,109 @@ } } + /** + * 处理核查数据的,遵循列循环 + * 1、首先对数据进行电流电压的区分 + * 2、之后通过对数据的分类,添加到指定的数据5、10、20的行程中, + * 其中最大允许误差和最大示值误差分别放入不同的list集合 + * 3、将处理完毕的数据,存放到数据结构map中 + * + * @param map + * @param request + */ + private void handlerCheckData(Map map, BizEquipmentStandardCheckRecordApproval request) { + //直流电压 + Map voltageMap = request.getCheckDataPistonGaugeList().stream().filter( + e -> e.getParams().contains("电压") + ).collect(Collectors.toMap(BizEquipmentStandardCheckDataPistonGauge::getCheckPoint, e -> e, (e1, e2) -> e1)); + List voltageCheckPoints = Arrays.asList("5", "10", "20"); + + populateCheckData(map, voltageMap, voltageCheckPoints, "voltages", "maxs1", UNIT_V); + //直流电流 + Map electricityMap = request.getCheckDataPistonGaugeList().stream().filter( + e -> e.getParams().contains("电流") + ).collect(Collectors.toMap(BizEquipmentStandardCheckDataPistonGauge::getCheckPoint, e -> e, (e1, e2) -> e1)); + List electricityCheckPoints = Arrays.asList("4", "10", "20"); + populateCheckData(map, electricityMap, electricityCheckPoints, "electricitys", "maxs2", UNIT_I); + } + + /** + * @param checkDataMap + * @param paramKey + * @param maximumKey + */ + private void populateCheckData(Map map, Map checkDataMap, + List checkPoints, + String paramKey, String maximumKey, String unitParam) { + //创建数据list + List> standardCheckList = new ArrayList<>(); + map.put(paramKey, standardCheckList); + if(ObjectUtils.isEmpty(map.get("technologyFile"))){ + map.put("technologyFile","无"); + } + //创建最大界限值list + List> maximumList = new ArrayList<>(); + map.put(maximumKey, maximumList); + //数据填充处理 + for (String checkPoint : checkPoints) { + if (checkDataMap.containsKey(checkPoint)) { + BizEquipmentStandardCheckDataPistonGauge checkDataPistonGauge = checkDataMap.get(checkPoint); + map.put(unitParam, checkDataPistonGauge.getUnit()); + doPopulateCheckData(map, checkDataPistonGauge, paramKey, maximumKey); + } else { + //如果没有,则进行填充空的对象 + BizEquipmentStandardCheckDataPistonGauge pistonGauge = new BizEquipmentStandardCheckDataPistonGauge(); + doPopulateCheckData(map, pistonGauge, paramKey, maximumKey); + } + } + } + + /** + * 填充该数据 + */ + private void doPopulateCheckData(Map map, BizEquipmentStandardCheckDataPistonGauge pistonGauge, String paramKey, String avaParams) { + List> standardCheckList = (List) map.get(paramKey); + List> maximumList = (List) map.get(avaParams); + Map testCheckData = new HashMap<>(); + testCheckData.put(INDICATED_VALUE_ONE, StringUtils.isNotEmpty(pistonGauge.getTestValueOne()) ? + pistonGauge.getTestValueOne() : "/"); + testCheckData.put(INDICATED_VALUE_TWO, StringUtils.isNotEmpty(pistonGauge.getTestValueTwo()) ? + pistonGauge.getTestValueTwo() : "/"); + testCheckData.put(INDICATED_VALUE_THREE, StringUtils.isNotEmpty(pistonGauge.getTestValueThree()) ? + pistonGauge.getTestValueThree() : "/"); + testCheckData.put(INDICATED_VALUE_FOUR, StringUtils.isNotEmpty(pistonGauge.getTestValueFour()) ? + pistonGauge.getTestValueFour() : "/"); + testCheckData.put(INDICATED_VALUE_FIVE, StringUtils.isNotEmpty(pistonGauge.getTestValueFive()) ? + pistonGauge.getTestValueFive() : "/"); + testCheckData.put(INDICATED_VALUE_SIX, StringUtils.isNotEmpty(pistonGauge.getTestValueSix()) ? + pistonGauge.getTestValueSix() : "/"); + testCheckData.put(AVERAGE_VALUE, StringUtils.isNotEmpty(pistonGauge.getAverageValue()) ? + pistonGauge.getAverageValue() : "/"); + standardCheckList.add(testCheckData); + + Map measureCheckData = new HashMap<>(); + measureCheckData.put(INDICATED_VALUE_ONE, StringUtils.isNotEmpty(pistonGauge.getMeasureValueOne()) ? + pistonGauge.getMeasureValueOne() : "/"); + measureCheckData.put(INDICATED_VALUE_TWO, StringUtils.isNotEmpty(pistonGauge.getMeasureValueTwo()) ? + pistonGauge.getMeasureValueTwo() : "/"); + measureCheckData.put(INDICATED_VALUE_THREE, StringUtils.isNotEmpty(pistonGauge.getMeasureValueThree()) ? + pistonGauge.getMeasureValueThree() : "/"); + measureCheckData.put(INDICATED_VALUE_FOUR, StringUtils.isNotEmpty(pistonGauge.getMeasureValueFour()) ? + pistonGauge.getMeasureValueFour() : "/"); + measureCheckData.put(INDICATED_VALUE_FIVE, StringUtils.isNotEmpty(pistonGauge.getMeasureValueFive()) ? + pistonGauge.getMeasureValueFive() : "/"); + measureCheckData.put(INDICATED_VALUE_SIX, StringUtils.isNotEmpty(pistonGauge.getMeasureValueSix()) ? + pistonGauge.getMeasureValueSix() : "/"); + measureCheckData.put(AVERAGE_VALUE, StringUtils.isNotEmpty(pistonGauge.getMeasureAverageValue()) ? + pistonGauge.getMeasureAverageValue() : "/"); + standardCheckList.add(measureCheckData); + //最带界限值 + Map maximumMap = new HashMap<>(); + maximumMap.put(MAX_INDICATING_ERROR, StringUtils.isNotEmpty(pistonGauge.getMaxIndicatingError()) ? + pistonGauge.getMaxIndicatingError() : "/"); + maximumMap.put(MAXIMUM_ERROR, StringUtils.isNotEmpty(pistonGauge.getMaximumError()) ? + pistonGauge.getMaximumError() : "/"); + maximumList.add(maximumMap); + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckRecordApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckRecordApprovalServiceImpl.java index 6e345e2..8e2e079 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckRecordApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckRecordApprovalServiceImpl.java @@ -71,4 +71,5 @@ BizEquipmentStandardCheckRecordApproval checkRecordApproval = this.baseMapper.selectDetailById(id); return ReturnUtil.success(checkRecordApproval); } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java index 34e765b..8f057d9 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessDeviceMeasureApprovalController.java @@ -55,7 +55,8 @@ /** * 审批之后再次生成证书和原始记录(为了生成签名和公章等,进行再次的图片的合成) */ - @GetMapping("/again/certificate") + @ApiOperation("审批生成证书和原始记录") + @GetMapping("/generate/certificate") @ResponseBody public void againCreateCertificate(@RequestBody @Valid IdDTO idDTO) { measureApprovalService.againCreateCertificate(idDTO.getId()); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java index 7dd19b2..6bf1963 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStandardCheckRecordApprovalController.java @@ -51,7 +51,7 @@ // TODO: 2023/10/18 柴壮:核查数据管理中点击生成核查记录(生成核查记录编号),找到模板、填充模板,调用草稿箱保存接口后(保证编号填充时和保存草稿一致), // 即在保存草稿箱接口中保存成功后实现填充模板逻辑,最后提供查询接口显示在核查记录管理新建页面 - @ApiOperation("草稿箱-保存") + @ApiOperation("审批生成证书和原始记录") @PostMapping("/generate/certificate") public void againCreateFile(@RequestBody @Valid IdDTO idDTO) { checkRecordApprovalService.againCreateFile(idDTO.getId()); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleParamsEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleParamsEnum.java new file mode 100644 index 0000000..5489ae5 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleParamsEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums; + +public interface PrintFileModuleParamsEnum { + + String INDICATED_VALUE_ONE = "valueOne"; + + String INDICATED_VALUE_TWO = "valueTwo"; + + String INDICATED_VALUE_THREE = "valueThree"; + + String INDICATED_VALUE_FOUR = "valueFour"; + + String INDICATED_VALUE_FIVE = "valueFive"; + + String INDICATED_VALUE_SIX = "valueSix"; + + String AVERAGE_VALUE = "averageValue"; + + String MAX_INDICATING_ERROR = "maxIndicatingError"; + + String MAXIMUM_ERROR = "maximumError"; + + String UNIT_I = "unitI"; + + String UNIT_V = "unitV"; +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java index e4d8fe0..3f29cc1 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessDeviceMeasureApprovalServiceImpl.java @@ -15,14 +15,17 @@ import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BizBusinessCertificatePrintMapper; import com.casic.missiles.mapper.business.BizBusinessDeviceMeasureApprovalMapper; import com.casic.missiles.mapper.business.BusinessLabExecutiveInfoMapper; +import com.casic.missiles.model.business.BizBusinessCertificatePrint; import com.casic.missiles.model.business.BizBusinessDeviceMeasureApproval; import com.casic.missiles.service.Impl.GeneralApprovalServiceImpl; import com.casic.missiles.service.Impl.eqpt.GenericEqptDataProvider; import com.casic.missiles.service.business.IBizBusinessDeviceMeasureApprovalService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NoGeneratorUtil; +import com.casic.missiles.utils.SpringContextUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -80,6 +83,7 @@ public void againCreateCertificate(Long id) { BizBusinessDeviceMeasureApproval deviceMeasureApproval = this.baseMapper.selectById(id); genericEqptDataProvider.excuteMeasureTaskAsyn(deviceMeasureApproval,deviceMeasureApproval.getId(),deviceMeasureApproval.getCertificateWordFile(),deviceMeasureApproval.getOriginalRecordWordFile()); + saveCertificatePrintInfo(deviceMeasureApproval); } @@ -133,4 +137,27 @@ return response; } + /** + * 通过审批的证书报告,生成证书打印信息 + */ + private void saveCertificatePrintInfo(BizBusinessDeviceMeasureApproval measureApproval) { + BizBusinessCertificatePrintMapper certificatePrintMapper = SpringContextUtil.getBean(BizBusinessCertificatePrintMapper.class); + BizBusinessCertificatePrint certificatePrint = getCertificatePrintByReport(measureApproval); + int row = certificatePrintMapper.insert(certificatePrint); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.APPROVAL_PROCESSOR_HANDLE_FAILED); + } + } + + private BizBusinessCertificatePrint getCertificatePrintByReport(BizBusinessDeviceMeasureApproval measureApproval) { + BizBusinessCertificatePrint certificatePrint = new BizBusinessCertificatePrint(); + certificatePrint.setReportId(measureApproval.getId()); + certificatePrint.setPrintNum(0); + certificatePrint.setPrintStatus(CertificatePrintStatusEnum.PRINTABLE); + certificatePrint.setPrintFileName(measureApproval.getCertificateFile()); + certificatePrint.setCreateUserId(measureApproval.getCreateUserId()); + certificatePrint.setCreateUserName(measureApproval.getCreateUserName()); + return certificatePrint; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java index 51cd506..2b4d377 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java @@ -6,6 +6,7 @@ import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.PrintFileModuleNameEnum; +import com.casic.missiles.enums.PrintFileModuleParamsEnum; import com.casic.missiles.enums.business.MeasureItemBelongStandardEquipmentDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BizBusinessDeviceMeasureApprovalMapper; @@ -20,6 +21,7 @@ import com.casic.missiles.service.listeners.register.PrintFileRegister; import com.casic.missiles.utils.SnowflakeUtil; import com.casic.missiles.utils.SpringContextUtil; +import io.swagger.annotations.ApiModelProperty; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -37,7 +39,7 @@ @Component(MeasureItemBelongStandardEquipmentDictEnum.PISTON_GAUGE) @RequiredArgsConstructor @Slf4j -public class PressureGaugeHandler extends StandardEquipmentSupport implements PrintFileModuleNameEnum, StandardEquipmentPrint { +public class PressureGaugeHandler extends StandardEquipmentSupport implements PrintFileModuleNameEnum, PrintFileModuleParamsEnum, StandardEquipmentPrint { private final PrintFileRegister printFileRegister; private final SnowflakeUtil snowflakeUtil; @@ -71,6 +73,7 @@ List customTemplateUrls = new ArrayList<>(1); AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); String name = dictService.getDictNameByCode("conclusion", request.getConclusion()); + handlerCheckData(map, request); if (StringUtils.isNotEmpty(name)) { map.put("conclusion", name); } @@ -202,4 +205,109 @@ } } + /** + * 处理核查数据的,遵循列循环 + * 1、首先对数据进行电流电压的区分 + * 2、之后通过对数据的分类,添加到指定的数据5、10、20的行程中, + * 其中最大允许误差和最大示值误差分别放入不同的list集合 + * 3、将处理完毕的数据,存放到数据结构map中 + * + * @param map + * @param request + */ + private void handlerCheckData(Map map, BizEquipmentStandardCheckRecordApproval request) { + //直流电压 + Map voltageMap = request.getCheckDataPistonGaugeList().stream().filter( + e -> e.getParams().contains("电压") + ).collect(Collectors.toMap(BizEquipmentStandardCheckDataPistonGauge::getCheckPoint, e -> e, (e1, e2) -> e1)); + List voltageCheckPoints = Arrays.asList("5", "10", "20"); + + populateCheckData(map, voltageMap, voltageCheckPoints, "voltages", "maxs1", UNIT_V); + //直流电流 + Map electricityMap = request.getCheckDataPistonGaugeList().stream().filter( + e -> e.getParams().contains("电流") + ).collect(Collectors.toMap(BizEquipmentStandardCheckDataPistonGauge::getCheckPoint, e -> e, (e1, e2) -> e1)); + List electricityCheckPoints = Arrays.asList("4", "10", "20"); + populateCheckData(map, electricityMap, electricityCheckPoints, "electricitys", "maxs2", UNIT_I); + } + + /** + * @param checkDataMap + * @param paramKey + * @param maximumKey + */ + private void populateCheckData(Map map, Map checkDataMap, + List checkPoints, + String paramKey, String maximumKey, String unitParam) { + //创建数据list + List> standardCheckList = new ArrayList<>(); + map.put(paramKey, standardCheckList); + if(ObjectUtils.isEmpty(map.get("technologyFile"))){ + map.put("technologyFile","无"); + } + //创建最大界限值list + List> maximumList = new ArrayList<>(); + map.put(maximumKey, maximumList); + //数据填充处理 + for (String checkPoint : checkPoints) { + if (checkDataMap.containsKey(checkPoint)) { + BizEquipmentStandardCheckDataPistonGauge checkDataPistonGauge = checkDataMap.get(checkPoint); + map.put(unitParam, checkDataPistonGauge.getUnit()); + doPopulateCheckData(map, checkDataPistonGauge, paramKey, maximumKey); + } else { + //如果没有,则进行填充空的对象 + BizEquipmentStandardCheckDataPistonGauge pistonGauge = new BizEquipmentStandardCheckDataPistonGauge(); + doPopulateCheckData(map, pistonGauge, paramKey, maximumKey); + } + } + } + + /** + * 填充该数据 + */ + private void doPopulateCheckData(Map map, BizEquipmentStandardCheckDataPistonGauge pistonGauge, String paramKey, String avaParams) { + List> standardCheckList = (List) map.get(paramKey); + List> maximumList = (List) map.get(avaParams); + Map testCheckData = new HashMap<>(); + testCheckData.put(INDICATED_VALUE_ONE, StringUtils.isNotEmpty(pistonGauge.getTestValueOne()) ? + pistonGauge.getTestValueOne() : "/"); + testCheckData.put(INDICATED_VALUE_TWO, StringUtils.isNotEmpty(pistonGauge.getTestValueTwo()) ? + pistonGauge.getTestValueTwo() : "/"); + testCheckData.put(INDICATED_VALUE_THREE, StringUtils.isNotEmpty(pistonGauge.getTestValueThree()) ? + pistonGauge.getTestValueThree() : "/"); + testCheckData.put(INDICATED_VALUE_FOUR, StringUtils.isNotEmpty(pistonGauge.getTestValueFour()) ? + pistonGauge.getTestValueFour() : "/"); + testCheckData.put(INDICATED_VALUE_FIVE, StringUtils.isNotEmpty(pistonGauge.getTestValueFive()) ? + pistonGauge.getTestValueFive() : "/"); + testCheckData.put(INDICATED_VALUE_SIX, StringUtils.isNotEmpty(pistonGauge.getTestValueSix()) ? + pistonGauge.getTestValueSix() : "/"); + testCheckData.put(AVERAGE_VALUE, StringUtils.isNotEmpty(pistonGauge.getAverageValue()) ? + pistonGauge.getAverageValue() : "/"); + standardCheckList.add(testCheckData); + + Map measureCheckData = new HashMap<>(); + measureCheckData.put(INDICATED_VALUE_ONE, StringUtils.isNotEmpty(pistonGauge.getMeasureValueOne()) ? + pistonGauge.getMeasureValueOne() : "/"); + measureCheckData.put(INDICATED_VALUE_TWO, StringUtils.isNotEmpty(pistonGauge.getMeasureValueTwo()) ? + pistonGauge.getMeasureValueTwo() : "/"); + measureCheckData.put(INDICATED_VALUE_THREE, StringUtils.isNotEmpty(pistonGauge.getMeasureValueThree()) ? + pistonGauge.getMeasureValueThree() : "/"); + measureCheckData.put(INDICATED_VALUE_FOUR, StringUtils.isNotEmpty(pistonGauge.getMeasureValueFour()) ? + pistonGauge.getMeasureValueFour() : "/"); + measureCheckData.put(INDICATED_VALUE_FIVE, StringUtils.isNotEmpty(pistonGauge.getMeasureValueFive()) ? + pistonGauge.getMeasureValueFive() : "/"); + measureCheckData.put(INDICATED_VALUE_SIX, StringUtils.isNotEmpty(pistonGauge.getMeasureValueSix()) ? + pistonGauge.getMeasureValueSix() : "/"); + measureCheckData.put(AVERAGE_VALUE, StringUtils.isNotEmpty(pistonGauge.getMeasureAverageValue()) ? + pistonGauge.getMeasureAverageValue() : "/"); + standardCheckList.add(measureCheckData); + //最带界限值 + Map maximumMap = new HashMap<>(); + maximumMap.put(MAX_INDICATING_ERROR, StringUtils.isNotEmpty(pistonGauge.getMaxIndicatingError()) ? + pistonGauge.getMaxIndicatingError() : "/"); + maximumMap.put(MAXIMUM_ERROR, StringUtils.isNotEmpty(pistonGauge.getMaximumError()) ? + pistonGauge.getMaximumError() : "/"); + maximumList.add(maximumMap); + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckRecordApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckRecordApprovalServiceImpl.java index 6e345e2..8e2e079 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckRecordApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckRecordApprovalServiceImpl.java @@ -71,4 +71,5 @@ BizEquipmentStandardCheckRecordApproval checkRecordApproval = this.baseMapper.selectDetailById(id); return ReturnUtil.success(checkRecordApproval); } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/CertificateReportEventPostProcessor.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/CertificateReportEventPostProcessor.java index dc98dae..c49bb1b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/CertificateReportEventPostProcessor.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/CertificateReportEventPostProcessor.java @@ -99,7 +99,6 @@ } try { //存储到证书打印表 - saveCertificatePrintInfo(deviceMeasureApproval); log.info("-----------------{}", JSON.toJSON(deviceMeasureApproval)); if (StringUtils.isNotEmpty(deviceMeasureApproval.getCertificateFile()) && StringUtils.isNotEmpty(deviceMeasureApproval.getCertificateWordFile())) { deviceMeasureApproval.setCertificateFile(""); @@ -108,34 +107,11 @@ deviceMeasureApproval.setOriginalRecordFile(""); } //审批完成,更新检定数据表中的原始记录和检定证书为空 - measureApprovalMapper.updateById(measureApproval); + measureApprovalMapper.updateById(deviceMeasureApproval); } catch (Exception ex) { log.error("存储到证书打印表异常,证书报告&原始记录信息为{}, 异常信息为{}", JSONObject.toJSON(deviceMeasureApproval), ex); } } - /** - * 通过审批的证书报告,生成证书打印信息 - */ - private void saveCertificatePrintInfo(BizBusinessDeviceMeasureApproval measureApproval) { - BizBusinessCertificatePrintMapper certificatePrintMapper = SpringContextUtil.getBean(BizBusinessCertificatePrintMapper.class); - BizBusinessCertificatePrint certificatePrint = getCertificatePrintByReport(measureApproval); - int row = certificatePrintMapper.insert(certificatePrint); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.APPROVAL_PROCESSOR_HANDLE_FAILED); - } - } - - private BizBusinessCertificatePrint getCertificatePrintByReport(BizBusinessDeviceMeasureApproval measureApproval) { - BizBusinessCertificatePrint certificatePrint = new BizBusinessCertificatePrint(); - certificatePrint.setReportId(measureApproval.getId()); - certificatePrint.setPrintNum(0); - certificatePrint.setPrintStatus(CertificatePrintStatusEnum.PRINTABLE); - certificatePrint.setPrintFileName(measureApproval.getCertificateFile()); - certificatePrint.setCreateUserId(measureApproval.getCreateUserId()); - certificatePrint.setCreateUserName(measureApproval.getCreateUserName()); - return certificatePrint; - } - }