diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java index 64aa8e6..59b1f50 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java @@ -30,6 +30,7 @@ String ELECTRICAL_SAFETY_CHECK_DATA = "多功能电气安全"; String DC_POWER_SUPPLY_CHECK_DATA = "直流稳压电源核查数据"; String RESISTANCE_THERMOMETER_CHECK_DATA = "二等铂电阻温度计"; + String ETWO_WEIGHT_CHECK_DATA = "E2等级砝码"; String FILE_CHANGE_FORM = "文件更改申请单"; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java index 64aa8e6..59b1f50 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java @@ -30,6 +30,7 @@ String ELECTRICAL_SAFETY_CHECK_DATA = "多功能电气安全"; String DC_POWER_SUPPLY_CHECK_DATA = "直流稳压电源核查数据"; String RESISTANCE_THERMOMETER_CHECK_DATA = "二等铂电阻温度计"; + String ETWO_WEIGHT_CHECK_DATA = "E2等级砝码"; String FILE_CHANGE_FORM = "文件更改申请单"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckRecordApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckRecordApproval.java index 1f5d8d9..4039389 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckRecordApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckRecordApproval.java @@ -179,6 +179,10 @@ @TableField(exist = false) private String checkDate; + @ApiModelProperty(value = "核查依据(打印)",dataType = "String") + @TableField(exist = false) + private String checkAccord; + @ApiModelProperty(value = "检测地址(打印)", dataType = "String") @TableField(exist = false) @@ -224,6 +228,10 @@ @TableField(exist = false) private List checkDataResistanceThermometerList; + @ApiModelProperty(value = "核查数据-E2等级砝码(打印)",dataType = "List") + @TableField(exist = false) + private List checkDataETwoList; + @ApiModelProperty(value = "温度值结论",dataType = "String") @TableField(exist = false) private String temperatureConclusion; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java index 64aa8e6..59b1f50 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java @@ -30,6 +30,7 @@ String ELECTRICAL_SAFETY_CHECK_DATA = "多功能电气安全"; String DC_POWER_SUPPLY_CHECK_DATA = "直流稳压电源核查数据"; String RESISTANCE_THERMOMETER_CHECK_DATA = "二等铂电阻温度计"; + String ETWO_WEIGHT_CHECK_DATA = "E2等级砝码"; String FILE_CHANGE_FORM = "文件更改申请单"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckRecordApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckRecordApproval.java index 1f5d8d9..4039389 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckRecordApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckRecordApproval.java @@ -179,6 +179,10 @@ @TableField(exist = false) private String checkDate; + @ApiModelProperty(value = "核查依据(打印)",dataType = "String") + @TableField(exist = false) + private String checkAccord; + @ApiModelProperty(value = "检测地址(打印)", dataType = "String") @TableField(exist = false) @@ -224,6 +228,10 @@ @TableField(exist = false) private List checkDataResistanceThermometerList; + @ApiModelProperty(value = "核查数据-E2等级砝码(打印)",dataType = "List") + @TableField(exist = false) + private List checkDataETwoList; + @ApiModelProperty(value = "温度值结论",dataType = "String") @TableField(exist = false) private String temperatureConclusion; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ETwoWeightHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ETwoWeightHandler.java index efbb611..95eb149 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ETwoWeightHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ETwoWeightHandler.java @@ -16,9 +16,7 @@ import com.casic.missiles.mapper.equipment.BizEquipmentTechnicalTargetMapper; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataDcPower; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataETwo; -import com.casic.missiles.model.equipment.BizEquipmentAttachment; -import com.casic.missiles.model.equipment.BizEquipmentInfo; -import com.casic.missiles.model.equipment.BizEquipmentTechnicalTarget; +import com.casic.missiles.model.equipment.*; import com.casic.missiles.service.equipment.IBizEquipmentInfoService; import com.casic.missiles.service.equipment.IBizEquipmentTechnicalTargetService; import com.casic.missiles.service.listeners.register.PrintFileRegister; @@ -27,21 +25,23 @@ import com.casic.missiles.enums.PrintFileModuleNameEnum; import com.casic.missiles.enums.business.MeasureItemBelongStandardEquipmentDictEnum; import com.casic.missiles.model.business.BizBusinessDeviceMeasureApproval; -import com.casic.missiles.model.equipment.BizEquipmentStandardCheckRecordApproval; import com.casic.missiles.service.Impl.eqpt.standard.StandardEquipmentPrint; import com.casic.missiles.service.Impl.eqpt.standard.StandardEquipmentSupport; import com.casic.missiles.utils.SnowflakeUtil; +import com.casic.missiles.utils.SpringContextUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; +import org.springframework.util.ObjectUtils; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import java.util.stream.Stream; /** * @Author: TuT @@ -65,9 +65,206 @@ @Override public List doCheckCertificateFile(BizEquipmentStandardCheckRecordApproval request) { - return null; + for (BizEquipmentInfo checkEquipment : request.getCheckEquipmentList()) { + checkEquipment.setEquipmentType("核查标准"); + } + try { + //健壮性判断 + if (ObjectUtil.isEmpty(request)) { + return null; + } + DictCodeUtils.convertDictCodeToName(request.getEquipmentInfo()); + for (BizEquipmentInfo bizEquipmentInfo : request.getCheckEquipmentList()) { + DictCodeUtils.convertDictCodeToName(bizEquipmentInfo); + } + Map map = BeanUtil.beanToMap(request); + + List eTwoList = request.getCheckDataETwoList(); + List checkPointList = eTwoList.stream() + .map(BizEquipmentStandardCheckDataETwo::getCheckPoint) + .distinct() + .collect(Collectors.toList()); + + List> repList = new ArrayList<>(); + for (String s : checkPointList) { + List> aOneList = eTwoList.stream() + .filter(e -> REPEATABILITY.equals(e.getCheckType()) && s.equals(e.getCheckPoint())) + .map(e -> { + Map aOneMap = new HashMap<>(); + aOneMap.put("checkPoint", s); + aOneMap.put("project", "A1(" + "Ιᵣ₁ᵢ)"); + aOneMap.put("unit", e.getUnit()); + aOneMap.put("oneValue", e.getAOneValueOne()); + aOneMap.put("twoValue", e.getAOneValueTwo()); + aOneMap.put("threeValue", e.getAOneValueThree()); + aOneMap.put("fourValue", e.getAOneValueFour()); + aOneMap.put("fiveValue", e.getAOneValueFive()); + aOneMap.put("sixValue", e.getAOneValueSix()); + return aOneMap; + }) + .collect(Collectors.toList()); + repList.add(aOneList.get(0)); + List> bOneList = eTwoList.stream() + .filter(e -> REPEATABILITY.equals(e.getCheckType()) && s.equals(e.getCheckPoint())) + .map(e -> { + Map bOneMap = new HashMap<>(); + bOneMap.put("checkPoint", s); + bOneMap.put("project", "B1(" + "Ιᵣ₁ᵢ)"); + bOneMap.put("unit", e.getUnit()); + bOneMap.put("oneValue", e.getBOneValueOne()); + bOneMap.put("twoValue", e.getBOneValueTwo()); + bOneMap.put("threeValue", e.getBOneValueThree()); + bOneMap.put("fourValue", e.getBOneValueFour()); + bOneMap.put("fiveValue", e.getBOneValueFive()); + bOneMap.put("sixValue", e.getBOneValueSix()); + return bOneMap; + }).collect(Collectors.toList()); + repList.add(bOneList.get(0)); + List> bTwoList = eTwoList.stream() + .filter(e -> REPEATABILITY.equals(e.getCheckType()) && s.equals(e.getCheckPoint())) + .map(e -> { + Map bTwoMap = new HashMap<>(); + bTwoMap.put("checkPoint", s); + bTwoMap.put("project", "B2(" + "Ιᵣ₂ᵢ)"); + bTwoMap.put("unit", e.getUnit()); + bTwoMap.put("oneValue", e.getBTwoValueOne()); + bTwoMap.put("twoValue", e.getBTwoValueTwo()); + bTwoMap.put("threeValue", e.getBTwoValueThree()); + bTwoMap.put("fourValue", e.getBTwoValueFour()); + bTwoMap.put("fiveValue", e.getBTwoValueFive()); + bTwoMap.put("sixValue", e.getBTwoValueSix()); + return bTwoMap; + }).collect(Collectors.toList()); + repList.add(bTwoList.get(0)); + List> aTwoList = eTwoList.stream() + .filter(e -> REPEATABILITY.equals(e.getCheckType()) && s.equals(e.getCheckPoint())) + .map(e -> { + Map aTwoMap = new HashMap<>(); + aTwoMap.put("checkPoint", s); + aTwoMap.put("project", "A2(" + "Ιᵣ₂ᵢ)"); + aTwoMap.put("unit", e.getUnit()); + aTwoMap.put("oneValue", e.getATwoValueOne()); + aTwoMap.put("twoValue", e.getATwoValueTwo()); + aTwoMap.put("threeValue", e.getATwoValueThree()); + aTwoMap.put("fourValue", e.getATwoValueFour()); + aTwoMap.put("fiveValue", e.getATwoValueFive()); + aTwoMap.put("sixValue", e.getATwoValueSix()); + return aTwoMap; + }).collect(Collectors.toList()); + repList.add(aTwoList.get(0)); + List> deltaIotaList = eTwoList.stream() + .filter(e -> REPEATABILITY.equals(e.getCheckType()) && s.equals(e.getCheckPoint())) + .map(e -> { + Map deltaIotaMap = new HashMap<>(); + deltaIotaMap.put("checkPoint", s); + deltaIotaMap.put("project", "Δ" + "Ιᵢ"); + deltaIotaMap.put("unit", e.getUnit()); + deltaIotaMap.put("oneValue", e.getAverageValueOne()); + deltaIotaMap.put("twoValue", e.getAverageValueTwo()); + deltaIotaMap.put("threeValue", e.getAverageValueThree()); + deltaIotaMap.put("fourValue", e.getAverageValueFour()); + deltaIotaMap.put("fiveValue", e.getAverageValueFive()); + deltaIotaMap.put("sixValue", e.getAverageValueSix()); + return deltaIotaMap; + }).collect(Collectors.toList()); + repList.add(deltaIotaList.get(0)); + List> deltajList = eTwoList.stream() + .filter(e -> REPEATABILITY.equals(e.getCheckType()) && s.equals(e.getCheckPoint())) + .map(e -> { + Map deltajMap = new HashMap<>(); + deltajMap.put("checkPoint", s); + deltajMap.put("project", "Δ" + "Ιʲ"); + deltajMap.put("unit", e.getUnit()); + deltajMap.put("oneValue", e.getAverageValue()); + deltajMap.put("twoValue", e.getAverageValue()); + deltajMap.put("threeValue", e.getAverageValue()); + deltajMap.put("fourValue", e.getAverageValue()); + deltajMap.put("fiveValue", e.getAverageValue()); + deltajMap.put("sixValue", e.getAverageValue()); + return deltajMap; + }).collect(Collectors.toList()); + repList.add(deltajList.get(0)); + List> snList = eTwoList.stream() + .filter(e -> REPEATABILITY.equals(e.getCheckType()) && s.equals(e.getCheckPoint())) + .map(e -> { + Map snMap = new HashMap<>(); + snMap.put("checkPoint", s); + snMap.put("project", "Sn"); + snMap.put("unit", e.getUnit()); + snMap.put("oneValue", e.getAverageValue()); + snMap.put("twoValue", e.getAverageValue()); + snMap.put("threeValue", e.getAverageValue()); + snMap.put("fourValue", e.getAverageValue()); + snMap.put("fiveValue", e.getAverageValue()); + snMap.put("sixValue", e.getAverageValue()); + return snMap; + }).collect(Collectors.toList()); + repList.add(snList.get(0)); + map.put("repList", repList); + + } + + List staList = request.getCheckDataETwoList() + .stream().filter(e -> STABILITY.equals(e.getCheckType()) + && (StringUtils.isNotEmpty(e.getTestValueOneDate()) + || StringUtils.isNotEmpty(e.getTestValueTwoDate()) + || StringUtils.isNotEmpty(e.getTestValueThreeDate()) + || StringUtils.isNotEmpty(e.getTestValueFourDate()) + || StringUtils.isNotEmpty(e.getTestValueFiveDate()) + || StringUtils.isNotEmpty(e.getTestValueSixDate())) + ).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(staList)) { + statisticalDate(staList, STA_PREFIX, map); + List repMapList = new ArrayList<>(); + for (BizEquipmentStandardCheckDataETwo sta : staList) { + Map repMap = BeanUtil.beanToMap(sta); + repMap.put("lessThan", ObjectUtils.isEmpty(sta.getLessThan()) || 0 == sta.getLessThan() ? "否" : "是"); + repMapList.add(repMap); + } + map.put("staList", repMapList); + } + + //除了选用的模板不一致,模板配置流程是一致的 + String wordUrl = printFileRegister.registerPrintFile(ETWO_WEIGHT_CHECK_DATA, "数据打印", null, map, false, null, null); + List urlList = new ArrayList<>(); + if (StringUtils.isNotEmpty(wordUrl)) { + urlList.add(wordUrl); + } + if (map.containsKey("pdfUrl")) { + urlList.add((String) map.get("pdfUrl")); + } + return urlList; + } catch (Exception ex) { + log.info("-----package data is exception, this is {}", ex); + throw new BusinessException(BusinessExceptionEnum.MEASURE_APPROVAL_UPDATE_FAILED); + } } + /** + * 组装参数 + * + * @param sta + * @param strListParam + * @param map + */ + private void statisticalDate(List sta, String strListParam, Map map) { + //再次健壮性判断,防止其他方法调用,或者已经存在直接退出 + if (CollectionUtils.isEmpty(sta) || map.containsKey(strListParam + DATE_PREFIX + 1)) { + return; + } + BizEquipmentStandardCheckDataETwo dataCalibrator = sta.get(0); + map.put(strListParam + DATE_PREFIX + 1, dataCalibrator.getTestValueOneDate()); + map.put(strListParam + DATE_PREFIX + 2, dataCalibrator.getTestValueTwoDate()); + map.put(strListParam + DATE_PREFIX + 3, dataCalibrator.getTestValueThreeDate()); + map.put(strListParam + DATE_PREFIX + 4, dataCalibrator.getTestValueFourDate()); + map.put(strListParam + DATE_PREFIX + 5, dataCalibrator.getTestValueFiveDate()); + map.put(strListParam + DATE_PREFIX + 6, dataCalibrator.getTestValueSixDate()); + } + +// private List> convertToListMap(String checkPoint, List eTwoList) { +// +// } + @Override public List doCreateOriginalFile(BizBusinessDeviceMeasureApproval request) { try { @@ -199,7 +396,7 @@ map.put("errorPtTwoaManufactureNo", errorPtTwoList.get(0).getAManufactureNo()); map.put("errorPtTwomSValue", errorPtTwoList.get(0).getMSValue()); map.put("errorPtTwompesValue", errorPtTwoList.get(0).getMpesValue()); - map.put("equipmentList",equipmentList); + map.put("equipmentList", equipmentList); } private void getEquipment(List> equipmentList, List list) throws Exception {