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 3c5d81f..8c3d31b 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 @@ -26,6 +26,7 @@ String MEASURE_DATA_APPROVAL = "检定数据管理审批"; String RESISTANCE_CHECK_DATA = "活塞式压力"; String ELECTRICAL_SAFETY_CHECK_DATA = "多功能电气安全"; + String DC_POWER_SUPPLY_CHECK_DATA = "直流稳压电源核查数据"; 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 3c5d81f..8c3d31b 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 @@ -26,6 +26,7 @@ String MEASURE_DATA_APPROVAL = "检定数据管理审批"; String RESISTANCE_CHECK_DATA = "活塞式压力"; String ELECTRICAL_SAFETY_CHECK_DATA = "多功能电气安全"; + String DC_POWER_SUPPLY_CHECK_DATA = "直流稳压电源核查数据"; String FILE_CHANGE_FORM = "文件更改申请单"; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java index 602e0f2..24696e9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java @@ -127,6 +127,12 @@ */ String RESISTANCE_MEASUREMENT = "电阻测量"; + //划分为直流电压,电源效应和负载效应Power and load effects,直流电流(直接测量)Direct current (direct measurement),直流电流(间接测量)Direct current (indirect measurement),纹波电压Ripple Voltage + + String POWER_AND_LOAD_EFFECTS = "电源效应和负载效应"; + String DC_CURRENT_DIRECT_MEASUREMENT = "直接电流(直接测量)"; + String DC_CURRENT_INDIRECT_MEASUREMENT = "直接电流(间接测量)"; + String RIPPLE_VOLTAGE = "纹波电压"; /** * 结论-合格 */ 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 3c5d81f..8c3d31b 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 @@ -26,6 +26,7 @@ String MEASURE_DATA_APPROVAL = "检定数据管理审批"; String RESISTANCE_CHECK_DATA = "活塞式压力"; String ELECTRICAL_SAFETY_CHECK_DATA = "多功能电气安全"; + String DC_POWER_SUPPLY_CHECK_DATA = "直流稳压电源核查数据"; String FILE_CHANGE_FORM = "文件更改申请单"; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java index 602e0f2..24696e9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java @@ -127,6 +127,12 @@ */ String RESISTANCE_MEASUREMENT = "电阻测量"; + //划分为直流电压,电源效应和负载效应Power and load effects,直流电流(直接测量)Direct current (direct measurement),直流电流(间接测量)Direct current (indirect measurement),纹波电压Ripple Voltage + + String POWER_AND_LOAD_EFFECTS = "电源效应和负载效应"; + String DC_CURRENT_DIRECT_MEASUREMENT = "直接电流(直接测量)"; + String DC_CURRENT_INDIRECT_MEASUREMENT = "直接电流(间接测量)"; + String RIPPLE_VOLTAGE = "纹波电压"; /** * 结论-合格 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java index 21c9912..3c5e023 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java @@ -105,6 +105,10 @@ @TableField(exist = false) private String appearanceFunctionCheck; + @ApiModelProperty(value = "密封试验",dataType = "String") + @TableField(exist = false) + private String sealingTest; + /** * 原始记录文件(minio存储文件名) */ @@ -299,6 +303,10 @@ @TableField(exist = false) private List measureDataDcPowerList; + @ApiModelProperty(value = "检定数据-安全阀(打印需要)",dataType = "List") + @TableField(exist = false) + private List measureDataSafetyValueList; + @ApiModelProperty(value = "标准装置编号", dataType = "String") @TableField(exist = false) private String belongStandardEquipment; 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 3c5d81f..8c3d31b 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 @@ -26,6 +26,7 @@ String MEASURE_DATA_APPROVAL = "检定数据管理审批"; String RESISTANCE_CHECK_DATA = "活塞式压力"; String ELECTRICAL_SAFETY_CHECK_DATA = "多功能电气安全"; + String DC_POWER_SUPPLY_CHECK_DATA = "直流稳压电源核查数据"; String FILE_CHANGE_FORM = "文件更改申请单"; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java index 602e0f2..24696e9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java @@ -127,6 +127,12 @@ */ String RESISTANCE_MEASUREMENT = "电阻测量"; + //划分为直流电压,电源效应和负载效应Power and load effects,直流电流(直接测量)Direct current (direct measurement),直流电流(间接测量)Direct current (indirect measurement),纹波电压Ripple Voltage + + String POWER_AND_LOAD_EFFECTS = "电源效应和负载效应"; + String DC_CURRENT_DIRECT_MEASUREMENT = "直接电流(直接测量)"; + String DC_CURRENT_INDIRECT_MEASUREMENT = "直接电流(间接测量)"; + String RIPPLE_VOLTAGE = "纹波电压"; /** * 结论-合格 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java index 21c9912..3c5e023 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java @@ -105,6 +105,10 @@ @TableField(exist = false) private String appearanceFunctionCheck; + @ApiModelProperty(value = "密封试验",dataType = "String") + @TableField(exist = false) + private String sealingTest; + /** * 原始记录文件(minio存储文件名) */ @@ -299,6 +303,10 @@ @TableField(exist = false) private List measureDataDcPowerList; + @ApiModelProperty(value = "检定数据-安全阀(打印需要)",dataType = "List") + @TableField(exist = false) + private List measureDataSafetyValueList; + @ApiModelProperty(value = "标准装置编号", dataType = "String") @TableField(exist = false) private String belongStandardEquipment; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java index 05a006e..8026823 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java @@ -62,6 +62,10 @@ @TableField("lower_allow_value") private String lowerAllowValue; + @ApiModelProperty(value = "调整类型",dataType = "String") + @TableField(exist = false) + private String adjustType; + /** * 第一次调整前 */ 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 3c5d81f..8c3d31b 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 @@ -26,6 +26,7 @@ String MEASURE_DATA_APPROVAL = "检定数据管理审批"; String RESISTANCE_CHECK_DATA = "活塞式压力"; String ELECTRICAL_SAFETY_CHECK_DATA = "多功能电气安全"; + String DC_POWER_SUPPLY_CHECK_DATA = "直流稳压电源核查数据"; String FILE_CHANGE_FORM = "文件更改申请单"; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java index 602e0f2..24696e9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java @@ -127,6 +127,12 @@ */ String RESISTANCE_MEASUREMENT = "电阻测量"; + //划分为直流电压,电源效应和负载效应Power and load effects,直流电流(直接测量)Direct current (direct measurement),直流电流(间接测量)Direct current (indirect measurement),纹波电压Ripple Voltage + + String POWER_AND_LOAD_EFFECTS = "电源效应和负载效应"; + String DC_CURRENT_DIRECT_MEASUREMENT = "直接电流(直接测量)"; + String DC_CURRENT_INDIRECT_MEASUREMENT = "直接电流(间接测量)"; + String RIPPLE_VOLTAGE = "纹波电压"; /** * 结论-合格 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java index 21c9912..3c5e023 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java @@ -105,6 +105,10 @@ @TableField(exist = false) private String appearanceFunctionCheck; + @ApiModelProperty(value = "密封试验",dataType = "String") + @TableField(exist = false) + private String sealingTest; + /** * 原始记录文件(minio存储文件名) */ @@ -299,6 +303,10 @@ @TableField(exist = false) private List measureDataDcPowerList; + @ApiModelProperty(value = "检定数据-安全阀(打印需要)",dataType = "List") + @TableField(exist = false) + private List measureDataSafetyValueList; + @ApiModelProperty(value = "标准装置编号", dataType = "String") @TableField(exist = false) private String belongStandardEquipment; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java index 05a006e..8026823 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java @@ -62,6 +62,10 @@ @TableField("lower_allow_value") private String lowerAllowValue; + @ApiModelProperty(value = "调整类型",dataType = "String") + @TableField(exist = false) + private String adjustType; + /** * 第一次调整前 */ 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 c6afc46..d30ba7b 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 @@ -212,10 +212,14 @@ @TableField(exist = false) private List checkDataPistonGaugeList; - @ApiModelProperty(value = "核查数据-多功能电气(打印)") + @ApiModelProperty(value = "核查数据-多功能电气(打印)",dataType = "List") @TableField(exist = false) private List checkDataElectricalSafetyList; + @ApiModelProperty(value = "核查数据-直流电压(打印)",dataType = "List") + @TableField(exist = false) + private List checkDataDcPowerList; + @ApiModelProperty(value = "标准装置编号", dataType = "String") @TableField(exist = false) private String belongStandardEquipment; 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 3c5d81f..8c3d31b 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 @@ -26,6 +26,7 @@ String MEASURE_DATA_APPROVAL = "检定数据管理审批"; String RESISTANCE_CHECK_DATA = "活塞式压力"; String ELECTRICAL_SAFETY_CHECK_DATA = "多功能电气安全"; + String DC_POWER_SUPPLY_CHECK_DATA = "直流稳压电源核查数据"; String FILE_CHANGE_FORM = "文件更改申请单"; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java index 602e0f2..24696e9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java @@ -127,6 +127,12 @@ */ String RESISTANCE_MEASUREMENT = "电阻测量"; + //划分为直流电压,电源效应和负载效应Power and load effects,直流电流(直接测量)Direct current (direct measurement),直流电流(间接测量)Direct current (indirect measurement),纹波电压Ripple Voltage + + String POWER_AND_LOAD_EFFECTS = "电源效应和负载效应"; + String DC_CURRENT_DIRECT_MEASUREMENT = "直接电流(直接测量)"; + String DC_CURRENT_INDIRECT_MEASUREMENT = "直接电流(间接测量)"; + String RIPPLE_VOLTAGE = "纹波电压"; /** * 结论-合格 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java index 21c9912..3c5e023 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java @@ -105,6 +105,10 @@ @TableField(exist = false) private String appearanceFunctionCheck; + @ApiModelProperty(value = "密封试验",dataType = "String") + @TableField(exist = false) + private String sealingTest; + /** * 原始记录文件(minio存储文件名) */ @@ -299,6 +303,10 @@ @TableField(exist = false) private List measureDataDcPowerList; + @ApiModelProperty(value = "检定数据-安全阀(打印需要)",dataType = "List") + @TableField(exist = false) + private List measureDataSafetyValueList; + @ApiModelProperty(value = "标准装置编号", dataType = "String") @TableField(exist = false) private String belongStandardEquipment; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java index 05a006e..8026823 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java @@ -62,6 +62,10 @@ @TableField("lower_allow_value") private String lowerAllowValue; + @ApiModelProperty(value = "调整类型",dataType = "String") + @TableField(exist = false) + private String adjustType; + /** * 第一次调整前 */ 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 c6afc46..d30ba7b 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 @@ -212,10 +212,14 @@ @TableField(exist = false) private List checkDataPistonGaugeList; - @ApiModelProperty(value = "核查数据-多功能电气(打印)") + @ApiModelProperty(value = "核查数据-多功能电气(打印)",dataType = "List") @TableField(exist = false) private List checkDataElectricalSafetyList; + @ApiModelProperty(value = "核查数据-直流电压(打印)",dataType = "List") + @TableField(exist = false) + private List checkDataDcPowerList; + @ApiModelProperty(value = "标准装置编号", dataType = "String") @TableField(exist = false) private String belongStandardEquipment; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/DcPowerSupplyHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/DcPowerSupplyHandler.java index 283353f..7d27b96 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/DcPowerSupplyHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/DcPowerSupplyHandler.java @@ -14,7 +14,7 @@ import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataDcPower; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataElectricalSafety; import com.casic.missiles.model.business.BizBusinessDeviceMeasureInfo; -import com.casic.missiles.model.equipment.BizEquipmentStandardCheckRecordApproval; +import com.casic.missiles.model.equipment.*; import com.casic.missiles.service.Impl.eqpt.standard.StandardEquipmentPrint; import com.casic.missiles.service.Impl.eqpt.standard.StandardEquipmentSupport; import com.casic.missiles.service.listeners.register.PrintFileRegister; @@ -29,10 +29,7 @@ import org.springframework.util.ObjectUtils; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -55,7 +52,141 @@ @Override public List doCheckCertificateFile(BizEquipmentStandardCheckRecordApproval request) { - return null; + for (BizEquipmentInfo checkEquipment : request.getCheckEquipmentList()) { + checkEquipment.setEquipmentType("测量设备"); + } + try { + //健壮性判断 + if (com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty(request)) { + return null; + } + Map map = BeanUtil.beanToMap(request); + //划分为直流电压,电源效应和负载效应Power and load effects,直流电流(直接测量)Direct current (direct measurement),直流电流(间接测量)Direct current (indirect measurement),纹波电压Ripple Voltage + String[] pointStr = {DC_VOLTAGE, POWER_AND_LOAD_EFFECTS, DC_CURRENT_DIRECT_MEASUREMENT,DC_CURRENT_INDIRECT_MEASUREMENT}; + //稳定性、重复性 + final String[] checkTypes = {REPEATABILITY, STABILITY}; + List pointList = Arrays.asList(pointStr); + + for (int i = 0; i < pointList.size(); i++) { + String points = pointList.get(i); + List repList = request.getCheckDataDcPowerList() + .stream().filter(e -> points.equals(e.getCheckParam()) + && checkTypes[0].equals(e.getCheckType()) + && StringUtils.isEmpty(e.getTestValueFiveDate())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(repList)) { + List repMapList = new ArrayList<>(); + for (BizEquipmentStandardCheckDataDcPower rep : repList) { + Map repMap = BeanUtil.beanToMap(rep); + repMapList.add(repMap); + } + map.put(REPEAT_PREFIX + (i + 1), repMapList); + } + + List staList = request.getCheckDataDcPowerList() + .stream().filter(e -> points.equals(e.getCheckParam()) + && checkTypes[1].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 + (i + 1), map); + List repMapList = new ArrayList<>(); + for (BizEquipmentStandardCheckDataDcPower sta : staList) { + Map repMap = BeanUtil.beanToMap(sta); + repMap.put("lessThan", ObjectUtils.isEmpty(sta.getLessThan()) || 0 == sta.getLessThan() ? "否" : "是"); + repMapList.add(repMap); + } + map.put(STA_PREFIX + (i + 1) + UP_STANDARD, "\uF0A3"); + map.put(STA_PREFIX + (i + 1) + BELOW_STANDARD, "\uF0A3"); + if (1==staList.get(0).getQualified()) { + map.put(STA_PREFIX + (i + 1) + UP_STANDARD, "\uF052"); + } else { + map.put(STA_PREFIX + (i + 1) + BELOW_STANDARD, "\uF052"); + } + map.put(STA_PREFIX + (i + 1), repMapList); + } + } + + List repList = request.getCheckDataDcPowerList().stream() + .filter(d -> RIPPLE_VOLTAGE.equals(d.getCheckParam()) + && checkTypes[0].equals(d.getCheckType())) + .collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(repList)) { + List repMapList = new ArrayList<>(); + for (BizEquipmentStandardCheckDataDcPower rep : repList) { + Map repMap = BeanUtil.beanToMap(rep); + repMapList.add(repMap); + } + map.put(REPEAT_PREFIX + 5, repMapList); + } + + // || StringUtils.isNotEmpty(d.getTestValueOneDate()) + // || StringUtils.isNotEmpty(d.getTestValueTwoDate()) + // || StringUtils.isNotEmpty(d.getTestValueThreeDate()) + // || StringUtils.isNotEmpty(d.getTestValueFourDate()) + // || StringUtils.isNotEmpty(d.getTestValueFiveDate()) + // || StringUtils.isNotEmpty(d.getTestValueSixDate()) + List staList = request.getCheckDataDcPowerList().stream() + .filter(d -> RIPPLE_VOLTAGE.equals(d.getCheckParam()) + && checkTypes[1].equals(d.getCheckType())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(staList)) { + statisticalDate(staList, STA_PREFIX + 5, map); + List repMapList = new ArrayList<>(); + for (BizEquipmentStandardCheckDataDcPower sta : staList) { + Map repMap = BeanUtil.beanToMap(sta); + repMap.put("lessThan", ObjectUtils.isEmpty(sta.getLessThan()) || 0 == sta.getLessThan() ? "否" : "是"); + repMapList.add(repMap); + } + map.put(STA_PREFIX + 5 + UP_STANDARD, "\uF0A3"); + map.put(STA_PREFIX + 5 + BELOW_STANDARD, "\uF0A3"); + if (1==staList.get(0).getQualified()) { + map.put(STA_PREFIX + 5 + UP_STANDARD, "\uF052"); + } else { + map.put(STA_PREFIX + 5 + BELOW_STANDARD, "\uF052"); + } + map.put(STA_PREFIX + 5, repMapList); + } + + ArrayList list = new ArrayList<>(); + //除了选用的模板不一致,模板配置流程是一致的 + String wordUrl = printFileRegister.registerPrintFile(DC_POWER_SUPPLY_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 (com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isEmpty(sta) || map.containsKey(strListParam + DATE_PREFIX + 1)) { + return; + } + BizEquipmentStandardCheckDataDcPower 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()); } @Override @@ -124,7 +255,8 @@ //波纹电压 List rippleList = dcPowerList.stream() .filter(dcPower -> "6".equals(dcPower.getDataType())).map(dcPower -> { - dcPower.setTechnicalIndex(dcPower.getTechnicalIndexSymbol() + dcPower.getTechnicalIndex()); + dcPower.setTechnicalIndex(dcPower.getTechnicalIndexSymbol() + dcPower.getTechnicalIndex() + "mV"); + dcPower.setRippleVoltage(dcPower.getRippleVoltage() + "mV"); return dcPower; }).collect(Collectors.toList()); @@ -269,7 +401,7 @@ } log.debug("certificate after------------{}", wordUrl); return urlList; - }catch (Exception ex){ + } catch (Exception ex) { log.debug("doCreateCertificateFile Exception is------------{}", ex); throw new BusinessException(BusinessExceptionEnum.MEASURE_APPROVAL_UPDATE_FAILED); } 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 3c5d81f..8c3d31b 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 @@ -26,6 +26,7 @@ String MEASURE_DATA_APPROVAL = "检定数据管理审批"; String RESISTANCE_CHECK_DATA = "活塞式压力"; String ELECTRICAL_SAFETY_CHECK_DATA = "多功能电气安全"; + String DC_POWER_SUPPLY_CHECK_DATA = "直流稳压电源核查数据"; String FILE_CHANGE_FORM = "文件更改申请单"; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java index 602e0f2..24696e9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java @@ -127,6 +127,12 @@ */ String RESISTANCE_MEASUREMENT = "电阻测量"; + //划分为直流电压,电源效应和负载效应Power and load effects,直流电流(直接测量)Direct current (direct measurement),直流电流(间接测量)Direct current (indirect measurement),纹波电压Ripple Voltage + + String POWER_AND_LOAD_EFFECTS = "电源效应和负载效应"; + String DC_CURRENT_DIRECT_MEASUREMENT = "直接电流(直接测量)"; + String DC_CURRENT_INDIRECT_MEASUREMENT = "直接电流(间接测量)"; + String RIPPLE_VOLTAGE = "纹波电压"; /** * 结论-合格 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java index 21c9912..3c5e023 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java @@ -105,6 +105,10 @@ @TableField(exist = false) private String appearanceFunctionCheck; + @ApiModelProperty(value = "密封试验",dataType = "String") + @TableField(exist = false) + private String sealingTest; + /** * 原始记录文件(minio存储文件名) */ @@ -299,6 +303,10 @@ @TableField(exist = false) private List measureDataDcPowerList; + @ApiModelProperty(value = "检定数据-安全阀(打印需要)",dataType = "List") + @TableField(exist = false) + private List measureDataSafetyValueList; + @ApiModelProperty(value = "标准装置编号", dataType = "String") @TableField(exist = false) private String belongStandardEquipment; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java index 05a006e..8026823 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java @@ -62,6 +62,10 @@ @TableField("lower_allow_value") private String lowerAllowValue; + @ApiModelProperty(value = "调整类型",dataType = "String") + @TableField(exist = false) + private String adjustType; + /** * 第一次调整前 */ 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 c6afc46..d30ba7b 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 @@ -212,10 +212,14 @@ @TableField(exist = false) private List checkDataPistonGaugeList; - @ApiModelProperty(value = "核查数据-多功能电气(打印)") + @ApiModelProperty(value = "核查数据-多功能电气(打印)",dataType = "List") @TableField(exist = false) private List checkDataElectricalSafetyList; + @ApiModelProperty(value = "核查数据-直流电压(打印)",dataType = "List") + @TableField(exist = false) + private List checkDataDcPowerList; + @ApiModelProperty(value = "标准装置编号", dataType = "String") @TableField(exist = false) private String belongStandardEquipment; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/DcPowerSupplyHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/DcPowerSupplyHandler.java index 283353f..7d27b96 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/DcPowerSupplyHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/DcPowerSupplyHandler.java @@ -14,7 +14,7 @@ import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataDcPower; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataElectricalSafety; import com.casic.missiles.model.business.BizBusinessDeviceMeasureInfo; -import com.casic.missiles.model.equipment.BizEquipmentStandardCheckRecordApproval; +import com.casic.missiles.model.equipment.*; import com.casic.missiles.service.Impl.eqpt.standard.StandardEquipmentPrint; import com.casic.missiles.service.Impl.eqpt.standard.StandardEquipmentSupport; import com.casic.missiles.service.listeners.register.PrintFileRegister; @@ -29,10 +29,7 @@ import org.springframework.util.ObjectUtils; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -55,7 +52,141 @@ @Override public List doCheckCertificateFile(BizEquipmentStandardCheckRecordApproval request) { - return null; + for (BizEquipmentInfo checkEquipment : request.getCheckEquipmentList()) { + checkEquipment.setEquipmentType("测量设备"); + } + try { + //健壮性判断 + if (com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty(request)) { + return null; + } + Map map = BeanUtil.beanToMap(request); + //划分为直流电压,电源效应和负载效应Power and load effects,直流电流(直接测量)Direct current (direct measurement),直流电流(间接测量)Direct current (indirect measurement),纹波电压Ripple Voltage + String[] pointStr = {DC_VOLTAGE, POWER_AND_LOAD_EFFECTS, DC_CURRENT_DIRECT_MEASUREMENT,DC_CURRENT_INDIRECT_MEASUREMENT}; + //稳定性、重复性 + final String[] checkTypes = {REPEATABILITY, STABILITY}; + List pointList = Arrays.asList(pointStr); + + for (int i = 0; i < pointList.size(); i++) { + String points = pointList.get(i); + List repList = request.getCheckDataDcPowerList() + .stream().filter(e -> points.equals(e.getCheckParam()) + && checkTypes[0].equals(e.getCheckType()) + && StringUtils.isEmpty(e.getTestValueFiveDate())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(repList)) { + List repMapList = new ArrayList<>(); + for (BizEquipmentStandardCheckDataDcPower rep : repList) { + Map repMap = BeanUtil.beanToMap(rep); + repMapList.add(repMap); + } + map.put(REPEAT_PREFIX + (i + 1), repMapList); + } + + List staList = request.getCheckDataDcPowerList() + .stream().filter(e -> points.equals(e.getCheckParam()) + && checkTypes[1].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 + (i + 1), map); + List repMapList = new ArrayList<>(); + for (BizEquipmentStandardCheckDataDcPower sta : staList) { + Map repMap = BeanUtil.beanToMap(sta); + repMap.put("lessThan", ObjectUtils.isEmpty(sta.getLessThan()) || 0 == sta.getLessThan() ? "否" : "是"); + repMapList.add(repMap); + } + map.put(STA_PREFIX + (i + 1) + UP_STANDARD, "\uF0A3"); + map.put(STA_PREFIX + (i + 1) + BELOW_STANDARD, "\uF0A3"); + if (1==staList.get(0).getQualified()) { + map.put(STA_PREFIX + (i + 1) + UP_STANDARD, "\uF052"); + } else { + map.put(STA_PREFIX + (i + 1) + BELOW_STANDARD, "\uF052"); + } + map.put(STA_PREFIX + (i + 1), repMapList); + } + } + + List repList = request.getCheckDataDcPowerList().stream() + .filter(d -> RIPPLE_VOLTAGE.equals(d.getCheckParam()) + && checkTypes[0].equals(d.getCheckType())) + .collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(repList)) { + List repMapList = new ArrayList<>(); + for (BizEquipmentStandardCheckDataDcPower rep : repList) { + Map repMap = BeanUtil.beanToMap(rep); + repMapList.add(repMap); + } + map.put(REPEAT_PREFIX + 5, repMapList); + } + + // || StringUtils.isNotEmpty(d.getTestValueOneDate()) + // || StringUtils.isNotEmpty(d.getTestValueTwoDate()) + // || StringUtils.isNotEmpty(d.getTestValueThreeDate()) + // || StringUtils.isNotEmpty(d.getTestValueFourDate()) + // || StringUtils.isNotEmpty(d.getTestValueFiveDate()) + // || StringUtils.isNotEmpty(d.getTestValueSixDate()) + List staList = request.getCheckDataDcPowerList().stream() + .filter(d -> RIPPLE_VOLTAGE.equals(d.getCheckParam()) + && checkTypes[1].equals(d.getCheckType())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(staList)) { + statisticalDate(staList, STA_PREFIX + 5, map); + List repMapList = new ArrayList<>(); + for (BizEquipmentStandardCheckDataDcPower sta : staList) { + Map repMap = BeanUtil.beanToMap(sta); + repMap.put("lessThan", ObjectUtils.isEmpty(sta.getLessThan()) || 0 == sta.getLessThan() ? "否" : "是"); + repMapList.add(repMap); + } + map.put(STA_PREFIX + 5 + UP_STANDARD, "\uF0A3"); + map.put(STA_PREFIX + 5 + BELOW_STANDARD, "\uF0A3"); + if (1==staList.get(0).getQualified()) { + map.put(STA_PREFIX + 5 + UP_STANDARD, "\uF052"); + } else { + map.put(STA_PREFIX + 5 + BELOW_STANDARD, "\uF052"); + } + map.put(STA_PREFIX + 5, repMapList); + } + + ArrayList list = new ArrayList<>(); + //除了选用的模板不一致,模板配置流程是一致的 + String wordUrl = printFileRegister.registerPrintFile(DC_POWER_SUPPLY_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 (com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isEmpty(sta) || map.containsKey(strListParam + DATE_PREFIX + 1)) { + return; + } + BizEquipmentStandardCheckDataDcPower 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()); } @Override @@ -124,7 +255,8 @@ //波纹电压 List rippleList = dcPowerList.stream() .filter(dcPower -> "6".equals(dcPower.getDataType())).map(dcPower -> { - dcPower.setTechnicalIndex(dcPower.getTechnicalIndexSymbol() + dcPower.getTechnicalIndex()); + dcPower.setTechnicalIndex(dcPower.getTechnicalIndexSymbol() + dcPower.getTechnicalIndex() + "mV"); + dcPower.setRippleVoltage(dcPower.getRippleVoltage() + "mV"); return dcPower; }).collect(Collectors.toList()); @@ -269,7 +401,7 @@ } log.debug("certificate after------------{}", wordUrl); return urlList; - }catch (Exception ex){ + } catch (Exception ex) { log.debug("doCreateCertificateFile Exception is------------{}", ex); throw new BusinessException(BusinessExceptionEnum.MEASURE_APPROVAL_UPDATE_FAILED); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java index a903cc9..efcea0d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java @@ -104,6 +104,7 @@ map.put(STA_PREFIX + (i + 1), repMapList); } } + List list = new ArrayList<>(); //除了选用的模板不一致,模板配置流程是一致的 PrintFileRegister printFileRegister = SpringContextUtil.getBean(PrintFileRegister.class); String wordUrl = printFileRegister.registerPrintFile(ELECTRICAL_SAFETY_CHECK_DATA, "数据打印", null, map, false, null, null); 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 3c5d81f..8c3d31b 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 @@ -26,6 +26,7 @@ String MEASURE_DATA_APPROVAL = "检定数据管理审批"; String RESISTANCE_CHECK_DATA = "活塞式压力"; String ELECTRICAL_SAFETY_CHECK_DATA = "多功能电气安全"; + String DC_POWER_SUPPLY_CHECK_DATA = "直流稳压电源核查数据"; String FILE_CHANGE_FORM = "文件更改申请单"; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java index 602e0f2..24696e9 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureCategoryEnum.java @@ -127,6 +127,12 @@ */ String RESISTANCE_MEASUREMENT = "电阻测量"; + //划分为直流电压,电源效应和负载效应Power and load effects,直流电流(直接测量)Direct current (direct measurement),直流电流(间接测量)Direct current (indirect measurement),纹波电压Ripple Voltage + + String POWER_AND_LOAD_EFFECTS = "电源效应和负载效应"; + String DC_CURRENT_DIRECT_MEASUREMENT = "直接电流(直接测量)"; + String DC_CURRENT_INDIRECT_MEASUREMENT = "直接电流(间接测量)"; + String RIPPLE_VOLTAGE = "纹波电压"; /** * 结论-合格 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java index 21c9912..3c5e023 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java @@ -105,6 +105,10 @@ @TableField(exist = false) private String appearanceFunctionCheck; + @ApiModelProperty(value = "密封试验",dataType = "String") + @TableField(exist = false) + private String sealingTest; + /** * 原始记录文件(minio存储文件名) */ @@ -299,6 +303,10 @@ @TableField(exist = false) private List measureDataDcPowerList; + @ApiModelProperty(value = "检定数据-安全阀(打印需要)",dataType = "List") + @TableField(exist = false) + private List measureDataSafetyValueList; + @ApiModelProperty(value = "标准装置编号", dataType = "String") @TableField(exist = false) private String belongStandardEquipment; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java index 05a006e..8026823 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureDataSafetyValue.java @@ -62,6 +62,10 @@ @TableField("lower_allow_value") private String lowerAllowValue; + @ApiModelProperty(value = "调整类型",dataType = "String") + @TableField(exist = false) + private String adjustType; + /** * 第一次调整前 */ 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 c6afc46..d30ba7b 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 @@ -212,10 +212,14 @@ @TableField(exist = false) private List checkDataPistonGaugeList; - @ApiModelProperty(value = "核查数据-多功能电气(打印)") + @ApiModelProperty(value = "核查数据-多功能电气(打印)",dataType = "List") @TableField(exist = false) private List checkDataElectricalSafetyList; + @ApiModelProperty(value = "核查数据-直流电压(打印)",dataType = "List") + @TableField(exist = false) + private List checkDataDcPowerList; + @ApiModelProperty(value = "标准装置编号", dataType = "String") @TableField(exist = false) private String belongStandardEquipment; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/DcPowerSupplyHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/DcPowerSupplyHandler.java index 283353f..7d27b96 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/DcPowerSupplyHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/DcPowerSupplyHandler.java @@ -14,7 +14,7 @@ import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataDcPower; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataElectricalSafety; import com.casic.missiles.model.business.BizBusinessDeviceMeasureInfo; -import com.casic.missiles.model.equipment.BizEquipmentStandardCheckRecordApproval; +import com.casic.missiles.model.equipment.*; import com.casic.missiles.service.Impl.eqpt.standard.StandardEquipmentPrint; import com.casic.missiles.service.Impl.eqpt.standard.StandardEquipmentSupport; import com.casic.missiles.service.listeners.register.PrintFileRegister; @@ -29,10 +29,7 @@ import org.springframework.util.ObjectUtils; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -55,7 +52,141 @@ @Override public List doCheckCertificateFile(BizEquipmentStandardCheckRecordApproval request) { - return null; + for (BizEquipmentInfo checkEquipment : request.getCheckEquipmentList()) { + checkEquipment.setEquipmentType("测量设备"); + } + try { + //健壮性判断 + if (com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty(request)) { + return null; + } + Map map = BeanUtil.beanToMap(request); + //划分为直流电压,电源效应和负载效应Power and load effects,直流电流(直接测量)Direct current (direct measurement),直流电流(间接测量)Direct current (indirect measurement),纹波电压Ripple Voltage + String[] pointStr = {DC_VOLTAGE, POWER_AND_LOAD_EFFECTS, DC_CURRENT_DIRECT_MEASUREMENT,DC_CURRENT_INDIRECT_MEASUREMENT}; + //稳定性、重复性 + final String[] checkTypes = {REPEATABILITY, STABILITY}; + List pointList = Arrays.asList(pointStr); + + for (int i = 0; i < pointList.size(); i++) { + String points = pointList.get(i); + List repList = request.getCheckDataDcPowerList() + .stream().filter(e -> points.equals(e.getCheckParam()) + && checkTypes[0].equals(e.getCheckType()) + && StringUtils.isEmpty(e.getTestValueFiveDate())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(repList)) { + List repMapList = new ArrayList<>(); + for (BizEquipmentStandardCheckDataDcPower rep : repList) { + Map repMap = BeanUtil.beanToMap(rep); + repMapList.add(repMap); + } + map.put(REPEAT_PREFIX + (i + 1), repMapList); + } + + List staList = request.getCheckDataDcPowerList() + .stream().filter(e -> points.equals(e.getCheckParam()) + && checkTypes[1].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 + (i + 1), map); + List repMapList = new ArrayList<>(); + for (BizEquipmentStandardCheckDataDcPower sta : staList) { + Map repMap = BeanUtil.beanToMap(sta); + repMap.put("lessThan", ObjectUtils.isEmpty(sta.getLessThan()) || 0 == sta.getLessThan() ? "否" : "是"); + repMapList.add(repMap); + } + map.put(STA_PREFIX + (i + 1) + UP_STANDARD, "\uF0A3"); + map.put(STA_PREFIX + (i + 1) + BELOW_STANDARD, "\uF0A3"); + if (1==staList.get(0).getQualified()) { + map.put(STA_PREFIX + (i + 1) + UP_STANDARD, "\uF052"); + } else { + map.put(STA_PREFIX + (i + 1) + BELOW_STANDARD, "\uF052"); + } + map.put(STA_PREFIX + (i + 1), repMapList); + } + } + + List repList = request.getCheckDataDcPowerList().stream() + .filter(d -> RIPPLE_VOLTAGE.equals(d.getCheckParam()) + && checkTypes[0].equals(d.getCheckType())) + .collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(repList)) { + List repMapList = new ArrayList<>(); + for (BizEquipmentStandardCheckDataDcPower rep : repList) { + Map repMap = BeanUtil.beanToMap(rep); + repMapList.add(repMap); + } + map.put(REPEAT_PREFIX + 5, repMapList); + } + + // || StringUtils.isNotEmpty(d.getTestValueOneDate()) + // || StringUtils.isNotEmpty(d.getTestValueTwoDate()) + // || StringUtils.isNotEmpty(d.getTestValueThreeDate()) + // || StringUtils.isNotEmpty(d.getTestValueFourDate()) + // || StringUtils.isNotEmpty(d.getTestValueFiveDate()) + // || StringUtils.isNotEmpty(d.getTestValueSixDate()) + List staList = request.getCheckDataDcPowerList().stream() + .filter(d -> RIPPLE_VOLTAGE.equals(d.getCheckParam()) + && checkTypes[1].equals(d.getCheckType())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(staList)) { + statisticalDate(staList, STA_PREFIX + 5, map); + List repMapList = new ArrayList<>(); + for (BizEquipmentStandardCheckDataDcPower sta : staList) { + Map repMap = BeanUtil.beanToMap(sta); + repMap.put("lessThan", ObjectUtils.isEmpty(sta.getLessThan()) || 0 == sta.getLessThan() ? "否" : "是"); + repMapList.add(repMap); + } + map.put(STA_PREFIX + 5 + UP_STANDARD, "\uF0A3"); + map.put(STA_PREFIX + 5 + BELOW_STANDARD, "\uF0A3"); + if (1==staList.get(0).getQualified()) { + map.put(STA_PREFIX + 5 + UP_STANDARD, "\uF052"); + } else { + map.put(STA_PREFIX + 5 + BELOW_STANDARD, "\uF052"); + } + map.put(STA_PREFIX + 5, repMapList); + } + + ArrayList list = new ArrayList<>(); + //除了选用的模板不一致,模板配置流程是一致的 + String wordUrl = printFileRegister.registerPrintFile(DC_POWER_SUPPLY_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 (com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isEmpty(sta) || map.containsKey(strListParam + DATE_PREFIX + 1)) { + return; + } + BizEquipmentStandardCheckDataDcPower 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()); } @Override @@ -124,7 +255,8 @@ //波纹电压 List rippleList = dcPowerList.stream() .filter(dcPower -> "6".equals(dcPower.getDataType())).map(dcPower -> { - dcPower.setTechnicalIndex(dcPower.getTechnicalIndexSymbol() + dcPower.getTechnicalIndex()); + dcPower.setTechnicalIndex(dcPower.getTechnicalIndexSymbol() + dcPower.getTechnicalIndex() + "mV"); + dcPower.setRippleVoltage(dcPower.getRippleVoltage() + "mV"); return dcPower; }).collect(Collectors.toList()); @@ -269,7 +401,7 @@ } log.debug("certificate after------------{}", wordUrl); return urlList; - }catch (Exception ex){ + } catch (Exception ex) { log.debug("doCreateCertificateFile Exception is------------{}", ex); throw new BusinessException(BusinessExceptionEnum.MEASURE_APPROVAL_UPDATE_FAILED); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java index a903cc9..efcea0d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java @@ -104,6 +104,7 @@ map.put(STA_PREFIX + (i + 1), repMapList); } } + List list = new ArrayList<>(); //除了选用的模板不一致,模板配置流程是一致的 PrintFileRegister printFileRegister = SpringContextUtil.getBean(PrintFileRegister.class); String wordUrl = printFileRegister.registerPrintFile(ELECTRICAL_SAFETY_CHECK_DATA, "数据打印", null, map, false, null, null); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/SateyValueHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/SateyValueHandler.java new file mode 100644 index 0000000..a4c4a10 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/SateyValueHandler.java @@ -0,0 +1,218 @@ +package com.casic.missiles.service.Impl.eqpt.standard.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.casic.missiles.dto.business.deviceMeasure.MeasureEquipmentInfoDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrintFileModuleNameEnum; +import com.casic.missiles.enums.business.MeasureItemBelongStandardEquipmentDictEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BizBusinessDeviceMeasureApprovalMapper; +import com.casic.missiles.mapper.business.BizBusinessDeviceMeasureEquipmentMapper; +import com.casic.missiles.mapper.business.BizBusinessDeviceMeasureInfoMapper; +import com.casic.missiles.model.business.BizBusinessDeviceMeasureApproval; +import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataSafetyValue; +import com.casic.missiles.model.business.BizBusinessDeviceMeasureInfo; +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.service.listeners.register.PrintFileRegister; +import com.casic.missiles.utils.DictCodeUtils; +import com.casic.missiles.utils.SnowflakeUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * @Author: TuT + * @CreateTime: 2024-02-22 10:16 + * @Description: SateyValueHandler + */ +@Component(MeasureItemBelongStandardEquipmentDictEnum.SAFETY_VALVE) +@RequiredArgsConstructor +@Slf4j +public class SateyValueHandler extends StandardEquipmentSupport implements PrintFileModuleNameEnum, StandardEquipmentPrint { + + private final BizBusinessDeviceMeasureInfoMapper bizBusinessDeviceMeasureInfoMapper; + + private final PrintFileRegister printFileRegister; + + private final BizBusinessDeviceMeasureEquipmentMapper bizBusinessDeviceMeasureEquipmentMapper; + + private final BizBusinessDeviceMeasureApprovalMapper bizBusinessDeviceMeasureApprovalMapper; + + @Override + public List doCheckCertificateFile(BizEquipmentStandardCheckRecordApproval request) { + return null; + } + + @Override + public String doCreateOriginalFile(BizBusinessDeviceMeasureApproval request) { + try { + if (ObjectUtil.isEmpty(request)) { + return null; + } + BizBusinessDeviceMeasureInfo measureInfo = bizBusinessDeviceMeasureInfoMapper.selectDetailById(request.getDataId()); + DictCodeUtils.convertDictCodeToName(request); + Map map = BeanUtil.beanToMap(request); + map.put("dataNo", measureInfo.getDataNo()); + + List equipmentList = bizBusinessDeviceMeasureEquipmentMapper.selectEquipmentListByDataId(request.getDataId()); + map.put("equipmentList", equipmentList); + List safetyValveList = request.getMeasureDataSafetyValueList(); + + //调整前列表 + List beforeAdjustList = safetyValveList.stream() + .filter(s -> StringUtils.isNotBlank(s.getBeforeAdjustFirst()) + && StringUtils.isNotBlank(s.getBeforeAdjustSecond()) + && StringUtils.isNotBlank(s.getBeforeAdjustThird()) + && StringUtils.isNotBlank(s.getBeforeAdjustAverage())) + .peek(s-> s.setAdjustType("调整前")) + .collect(Collectors.toList()); + //调整后列表 + List afterAdjustList = safetyValveList.stream() + .filter(s -> StringUtils.isNotBlank(s.getAfterAdjustFirst()) + && StringUtils.isNotBlank(s.getAfterAdjustSecond()) + && StringUtils.isNotBlank(s.getAfterAdjustThird()) + && StringUtils.isNotBlank(s.getAfterAdjustAverage())) + .peek(s->s.setAdjustType("调整后")) + .collect(Collectors.toList()); + //标称值 + List nominalValueList = safetyValveList.stream() + .map(BizBusinessDeviceMeasureDataSafetyValue::getNominalValue) + .collect(Collectors.toList()); + //允许值 + String allowValue = safetyValveList.stream() + .flatMap(safetyValue -> + Stream.of(safetyValue.getLowerAllowValue() + , safetyValue.getUpperAllowValue())) + .collect(Collectors.joining("~")); + + map.put("beforeAdjust", beforeAdjustList.get(0)); + map.put("afterAdjust", afterAdjustList.get(0)); + map.put("nominalValue", nominalValueList.get(0)); + map.put("allowValue", allowValue); + + List templateUrls = new ArrayList<>(); + templateUrls.add(bizBusinessDeviceMeasureApprovalMapper.customTemplateUrl(MEASURE_DATA, "1", request.getItemCategoryName())); + //与证书模板区分 + SnowflakeUtil snowflakeUtil = new SnowflakeUtil(); + map.put("id", snowflakeUtil.nextId()); + log.debug("original before ----"); + //除了选用的模板不一致,模板配置流程是一致的 + String originalUrlFile = printFileRegister.registerPrintFile(MEASURE_DATA, "原始记录打印", null, map, true, null, templateUrls); + log.debug("originalUrlFile after------------{}", originalUrlFile); + return originalUrlFile; + } catch (Exception ex) { + log.debug("doCreateOriginalFile Exception is -----------{}", ex); + throw new BusinessException(BusinessExceptionEnum.MEASURE_APPROVAL_UPDATE_FAILED); + } + + } + + + @Override + public List doCreateCertificateFile(BizBusinessDeviceMeasureApproval request) { + try { + //过滤不能生成证书的 + if (checkOutUnablePrint(request)) { + log.debug("该报告没有证书报告"); + return null; + } + BizBusinessDeviceMeasureInfo measureInfo = bizBusinessDeviceMeasureInfoMapper.selectDetailById(request.getDataId()); + DictCodeUtils.convertDictCodeToName(request); + Map map = BeanUtil.beanToMap(request); + map.put("dataNo", measureInfo.getDataNo()); + + List equipmentList = bizBusinessDeviceMeasureEquipmentMapper.selectEquipmentListByDataId(request.getDataId()); + map.put("equipmentList", equipmentList); + List safetyValveList = request.getMeasureDataSafetyValueList(); + + //调整前列表 + List beforeAdjustList = safetyValveList.stream() + .filter(s -> StringUtils.isNotBlank(s.getBeforeAdjustFirst()) + && StringUtils.isNotBlank(s.getBeforeAdjustSecond()) + && StringUtils.isNotBlank(s.getBeforeAdjustThird()) + && StringUtils.isNotBlank(s.getBeforeAdjustAverage())) + .peek(s-> s.setAdjustType("调整前")) + .collect(Collectors.toList()); + //调整后列表 + List afterAdjustList = safetyValveList.stream() + .filter(s -> StringUtils.isNotBlank(s.getAfterAdjustFirst()) + && StringUtils.isNotBlank(s.getAfterAdjustSecond()) + && StringUtils.isNotBlank(s.getAfterAdjustThird()) + && StringUtils.isNotBlank(s.getAfterAdjustAverage())) + .peek(s->s.setAdjustType("调整后")) + .collect(Collectors.toList()); + //标称值 + List nominalValueList = safetyValveList.stream() + .map(BizBusinessDeviceMeasureDataSafetyValue::getNominalValue) + .collect(Collectors.toList()); + //允许值 + String allowValue = safetyValveList.stream() + .flatMap(safetyValue -> + Stream.of(safetyValue.getLowerAllowValue() + , safetyValue.getUpperAllowValue())) + .collect(Collectors.joining("~")); + + map.put("beforeAdjust", beforeAdjustList.get(0)); + map.put("afterAdjust", afterAdjustList.get(0)); + map.put("nominalValue", nominalValueList.get(0)); + map.put("allowValue", allowValue); + + + prepareCoverParams(map, request.getLabCode()); + List customTemplateUrls = new ArrayList<>(); + log.debug("--------get Certificate template is ...."); + //查询对应封面模板和检定证书模板 + customTemplateUrls.add(bizBusinessDeviceMeasureApprovalMapper.customTemplateUrl(MEASURE_DATA, "2", request.getMeasureCategoryName())); + customTemplateUrls.add(bizBusinessDeviceMeasureApprovalMapper.customTemplateUrl(MEASURE_DATA, "2", request.getItemCategoryName())); + SnowflakeUtil snowflakeUtil = new SnowflakeUtil(); + map.put("id", snowflakeUtil.nextId()); + map.put("pdfStatus", 1); + List urlList = new ArrayList<>(); + //除了选用的模板不一致,模板配置流程是一致的 + log.debug("certificate before------------"); + String wordUrl = printFileRegister.registerPrintFile(MEASURE_DATA, "证书打印", null, map, false, null, customTemplateUrls); + urlList.add(wordUrl); + if (map.containsKey("pdfUrl")) { + urlList.add((String) map.get("pdfUrl")); + } + log.debug("certificate after------------{}", wordUrl); + return urlList; + } catch (Exception ex) { + log.debug("doCreateOriginalFile Exception is -----------{}", ex); + throw new BusinessException(BusinessExceptionEnum.MEASURE_APPROVAL_UPDATE_FAILED); + } + } + + /** + * 检查是否能生成证书 + */ + private Boolean checkOutUnablePrint(BizBusinessDeviceMeasureApproval measureItemInfo) { + //通过检定项名称,获取对应的模块配置列表 + if (StringUtils.isNotEmpty(measureItemInfo.getItemCategoryName())) { + if (MEASURE_ITEMS_WITHOUT_CERTIFICATE.contains(measureItemInfo.getItemCategoryName())) { + log.warn(BusinessExceptionEnum.ITEM_CATEGORY_NOT_NULL.getMessage()); + return true; + } + if (CHECKOUT_REPORT.equals(measureItemInfo.getMeasureCategoryName())) { + log.warn(BusinessExceptionEnum.TEST_CATEGORY_IS_NONE.getMessage()); + return true; + } + } else { + log.warn(BusinessExceptionEnum.ITEM_CATEGORY_IS_NULL.getMessage()); + return true; + } + return false; + } +}