diff --git a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java index bbe9ce7..708276f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java @@ -25,11 +25,11 @@ BigDecimal returnValue = new BigDecimal(measureDataPistonGauge.getReturnError()); BigDecimal maxReturnError = new BigDecimal(measureDataPistonGauge.getMaxReturnError()); int returnCompareMax = returnValue.compareTo(maxReturnError); - if (returnCompareMax > 0) { + if (returnCompareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getReturnError()); + builder.append(measureDataPistonGauge.getMaxReturnError()); builder.append("*"); - measureDataPistonGauge.setReturnError(builder.toString()); + measureDataPistonGauge.setMaxReturnError(builder.toString()); } } //最大示值误差比较 @@ -38,11 +38,11 @@ BigDecimal indicatingError = new BigDecimal(measureDataPistonGauge.getIndicatingError()); BigDecimal maxIndicatingError = new BigDecimal(measureDataPistonGauge.getMaxIndicatingError()); int compareMax = indicatingError.compareTo(maxIndicatingError); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getIndicatingError()); + builder.append(measureDataPistonGauge.getMaxIndicatingError()); builder.append("*"); - measureDataPistonGauge.setIndicatingError(builder.toString()); + measureDataPistonGauge.setMaxIndicatingError(builder.toString()); } } //轻巧位移误差 @@ -52,11 +52,11 @@ BigDecimal maximumError = new BigDecimal(measureDataPistonGauge.getFrictionError()); BigDecimal maxFrictionError = new BigDecimal(measureDataPistonGauge.getMaxFrictionError()); int compareMax = maximumError.compareTo(maxFrictionError); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getFrictionError()); + builder.append(measureDataPistonGauge.getMaxFrictionError()); builder.append("*"); - measureDataPistonGauge.setFrictionError(builder.toString()); + measureDataPistonGauge.setMaxFrictionError(builder.toString()); } } } @@ -76,11 +76,11 @@ BigDecimal pointDeviation = new BigDecimal(measureDataPistonGauge.getPointDeviation()); BigDecimal maxPointDeviation = new BigDecimal(measureDataPistonGauge.getMaxPointDeviation()); int compareMax = pointDeviation.compareTo(maxPointDeviation); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getPointDeviation()); + builder.append(measureDataPistonGauge.getMaxPointDeviation()); builder.append("*"); - measureDataPistonGauge.setPointDeviation(builder.toString()); + measureDataPistonGauge.setMaxPointDeviation(builder.toString()); } } //最大切换差 @@ -89,11 +89,11 @@ BigDecimal differentGap = new BigDecimal(measureDataPistonGauge.getDifferentGap()); BigDecimal maxDifferentGap = new BigDecimal(measureDataPistonGauge.getMaxDifferentGap()); int compareMax = differentGap.compareTo(maxDifferentGap); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getDifferentGap()); + builder.append(measureDataPistonGauge.getMaxDifferentGap()); builder.append("*"); - measureDataPistonGauge.setDifferentGap(builder.toString()); + measureDataPistonGauge.setMaxDifferentGap(builder.toString()); } } } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java index bbe9ce7..708276f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java @@ -25,11 +25,11 @@ BigDecimal returnValue = new BigDecimal(measureDataPistonGauge.getReturnError()); BigDecimal maxReturnError = new BigDecimal(measureDataPistonGauge.getMaxReturnError()); int returnCompareMax = returnValue.compareTo(maxReturnError); - if (returnCompareMax > 0) { + if (returnCompareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getReturnError()); + builder.append(measureDataPistonGauge.getMaxReturnError()); builder.append("*"); - measureDataPistonGauge.setReturnError(builder.toString()); + measureDataPistonGauge.setMaxReturnError(builder.toString()); } } //最大示值误差比较 @@ -38,11 +38,11 @@ BigDecimal indicatingError = new BigDecimal(measureDataPistonGauge.getIndicatingError()); BigDecimal maxIndicatingError = new BigDecimal(measureDataPistonGauge.getMaxIndicatingError()); int compareMax = indicatingError.compareTo(maxIndicatingError); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getIndicatingError()); + builder.append(measureDataPistonGauge.getMaxIndicatingError()); builder.append("*"); - measureDataPistonGauge.setIndicatingError(builder.toString()); + measureDataPistonGauge.setMaxIndicatingError(builder.toString()); } } //轻巧位移误差 @@ -52,11 +52,11 @@ BigDecimal maximumError = new BigDecimal(measureDataPistonGauge.getFrictionError()); BigDecimal maxFrictionError = new BigDecimal(measureDataPistonGauge.getMaxFrictionError()); int compareMax = maximumError.compareTo(maxFrictionError); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getFrictionError()); + builder.append(measureDataPistonGauge.getMaxFrictionError()); builder.append("*"); - measureDataPistonGauge.setFrictionError(builder.toString()); + measureDataPistonGauge.setMaxFrictionError(builder.toString()); } } } @@ -76,11 +76,11 @@ BigDecimal pointDeviation = new BigDecimal(measureDataPistonGauge.getPointDeviation()); BigDecimal maxPointDeviation = new BigDecimal(measureDataPistonGauge.getMaxPointDeviation()); int compareMax = pointDeviation.compareTo(maxPointDeviation); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getPointDeviation()); + builder.append(measureDataPistonGauge.getMaxPointDeviation()); builder.append("*"); - measureDataPistonGauge.setPointDeviation(builder.toString()); + measureDataPistonGauge.setMaxPointDeviation(builder.toString()); } } //最大切换差 @@ -89,11 +89,11 @@ BigDecimal differentGap = new BigDecimal(measureDataPistonGauge.getDifferentGap()); BigDecimal maxDifferentGap = new BigDecimal(measureDataPistonGauge.getMaxDifferentGap()); int compareMax = differentGap.compareTo(maxDifferentGap); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getDifferentGap()); + builder.append(measureDataPistonGauge.getMaxDifferentGap()); builder.append("*"); - measureDataPistonGauge.setDifferentGap(builder.toString()); + measureDataPistonGauge.setMaxDifferentGap(builder.toString()); } } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java index 18a784d..03c6121 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java @@ -16,14 +16,12 @@ import com.casic.missiles.mapper.business.BizBusinessDeviceMeasureEquipmentMapper; import com.casic.missiles.model.business.BizBusinessDeviceMeasureApproval; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataCalibrator; -import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataElectricalSafety; import com.casic.missiles.model.equipment.BizEquipmentInfo; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataCalibrator; 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.strategy.impl.ElectricalStrategyType; import com.casic.missiles.utils.SnowflakeUtil; import com.casic.missiles.utils.SpringContextUtil; import lombok.RequiredArgsConstructor; @@ -67,7 +65,10 @@ if (ObjectUtils.isEmpty(request)) { return null; } + List dataItems = new ArrayList<>(); + int titleIndex = 1; Map map = BeanUtil.beanToMap(request); + //划分为最佳点,最差点,典型点 String[] pointStr = {BEST_POINT, WORST_POINT, MODEL_POINT}; //稳定性、重复性 @@ -85,12 +86,18 @@ for (BizEquipmentStandardCheckDataCalibrator rep : repList) { populateCheckData(repMapList, rep); } + titleIndex++; + } else { + //选择性删除 + addDataRemoveItem(dataItems, titleIndex++, ""); } BizEquipmentStandardCheckDataCalibrator checkDataCalibrator = new BizEquipmentStandardCheckDataCalibrator(); for (int k = repMapList.size(); k < standardEquipmentColConfig.getMultiCalibration(); k++) { populateCheckData(repMapList, checkDataCalibrator); } map.put(REPEAT_PREFIX + (i + 1), repMapList); + map.put("surveyor", "{{@surveyor}}"); + map.put("auditor", "{{@auditor}}"); repMapList = new ArrayList<>(); //稳定性 List staList = request.getCheckDataCalibratorList() @@ -121,9 +128,15 @@ } map.put(STA_PREFIX + (i + 1), repMapList); } + map.put("pdfStatus", 1); //除了选用的模板不一致,模板配置流程是一致的 - String wordUrl = printFileRegister.registerPrintFile(MULTIFUNCTION_CHECK_DATA, "数据打印", null, map, false, null, null); + String wordUrl = printFileRegister.registerPrintFile(MULTIFUNCTION_CHECK_DATA, "数据打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .build()); List urlList = new ArrayList<>(); if (StringUtils.isNotEmpty(wordUrl)) { urlList.add(wordUrl); @@ -158,6 +171,10 @@ //最大允许误差 safety.setMaximumError("±" + safety.getMaximumError()); } + if (StringUtils.isNotEmpty(safety.getUnit()) && !safety.getUnit().contains("/")) { + //单位 + safety.setUnit(safety.getUnit() + "/" + safety.getCapacity()); + } safety.applyStrategyBasedOnDataType(measureItemInfo.getItemCategoryName()); safetyList.add(safety); } @@ -168,7 +185,7 @@ BizBusinessDeviceMeasureApprovalMapper bizBusinessMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); //准备封面参数 readyForCoverParams(map, measureItemInfo.getLabCode()); - if (!map.containsKey("equipmentList")|| org.springframework.util.CollectionUtils.isEmpty((List)map.get("equipmentList"))) { + if (!map.containsKey("equipmentList") || org.springframework.util.CollectionUtils.isEmpty((List) map.get("equipmentList"))) { List equipmentList = bizBusinessDeviceMeasureEquipmentMapper.selectEquipmentListByDataId(measureItemInfo.getDataId()); if (org.springframework.util.CollectionUtils.isEmpty(equipmentList)) { equipmentList = new ArrayList<>(); @@ -231,6 +248,10 @@ //最大允许误差 safety.setMaximumError("±" + safety.getMaximumError()); } + if (StringUtils.isNotEmpty(safety.getUnit()) && !safety.getUnit().contains("/")) { + //单位 + safety.setUnit(safety.getUnit() + "/" + safety.getCapacity()); + } safety.applyStrategyBasedOnDataType(measureItemInfo.getItemCategoryName()); safetyList.add(safety); } @@ -246,7 +267,7 @@ map.put("measureDataCalibratorList", safetyList); //准备封面参数 readyForCoverParams(map, measureItemInfo.getLabCode()); - if (!map.containsKey("equipmentList")|| org.springframework.util.CollectionUtils.isEmpty((List)map.get("equipmentList"))) { + if (!map.containsKey("equipmentList") || org.springframework.util.CollectionUtils.isEmpty((List) map.get("equipmentList"))) { List equipmentList = bizBusinessDeviceMeasureEquipmentMapper.selectEquipmentListByDataId(measureItemInfo.getDataId()); if (org.springframework.util.CollectionUtils.isEmpty(equipmentList)) { equipmentList = new ArrayList<>(); diff --git a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java index bbe9ce7..708276f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java @@ -25,11 +25,11 @@ BigDecimal returnValue = new BigDecimal(measureDataPistonGauge.getReturnError()); BigDecimal maxReturnError = new BigDecimal(measureDataPistonGauge.getMaxReturnError()); int returnCompareMax = returnValue.compareTo(maxReturnError); - if (returnCompareMax > 0) { + if (returnCompareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getReturnError()); + builder.append(measureDataPistonGauge.getMaxReturnError()); builder.append("*"); - measureDataPistonGauge.setReturnError(builder.toString()); + measureDataPistonGauge.setMaxReturnError(builder.toString()); } } //最大示值误差比较 @@ -38,11 +38,11 @@ BigDecimal indicatingError = new BigDecimal(measureDataPistonGauge.getIndicatingError()); BigDecimal maxIndicatingError = new BigDecimal(measureDataPistonGauge.getMaxIndicatingError()); int compareMax = indicatingError.compareTo(maxIndicatingError); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getIndicatingError()); + builder.append(measureDataPistonGauge.getMaxIndicatingError()); builder.append("*"); - measureDataPistonGauge.setIndicatingError(builder.toString()); + measureDataPistonGauge.setMaxIndicatingError(builder.toString()); } } //轻巧位移误差 @@ -52,11 +52,11 @@ BigDecimal maximumError = new BigDecimal(measureDataPistonGauge.getFrictionError()); BigDecimal maxFrictionError = new BigDecimal(measureDataPistonGauge.getMaxFrictionError()); int compareMax = maximumError.compareTo(maxFrictionError); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getFrictionError()); + builder.append(measureDataPistonGauge.getMaxFrictionError()); builder.append("*"); - measureDataPistonGauge.setFrictionError(builder.toString()); + measureDataPistonGauge.setMaxFrictionError(builder.toString()); } } } @@ -76,11 +76,11 @@ BigDecimal pointDeviation = new BigDecimal(measureDataPistonGauge.getPointDeviation()); BigDecimal maxPointDeviation = new BigDecimal(measureDataPistonGauge.getMaxPointDeviation()); int compareMax = pointDeviation.compareTo(maxPointDeviation); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getPointDeviation()); + builder.append(measureDataPistonGauge.getMaxPointDeviation()); builder.append("*"); - measureDataPistonGauge.setPointDeviation(builder.toString()); + measureDataPistonGauge.setMaxPointDeviation(builder.toString()); } } //最大切换差 @@ -89,11 +89,11 @@ BigDecimal differentGap = new BigDecimal(measureDataPistonGauge.getDifferentGap()); BigDecimal maxDifferentGap = new BigDecimal(measureDataPistonGauge.getMaxDifferentGap()); int compareMax = differentGap.compareTo(maxDifferentGap); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getDifferentGap()); + builder.append(measureDataPistonGauge.getMaxDifferentGap()); builder.append("*"); - measureDataPistonGauge.setDifferentGap(builder.toString()); + measureDataPistonGauge.setMaxDifferentGap(builder.toString()); } } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java index 18a784d..03c6121 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java @@ -16,14 +16,12 @@ import com.casic.missiles.mapper.business.BizBusinessDeviceMeasureEquipmentMapper; import com.casic.missiles.model.business.BizBusinessDeviceMeasureApproval; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataCalibrator; -import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataElectricalSafety; import com.casic.missiles.model.equipment.BizEquipmentInfo; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataCalibrator; 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.strategy.impl.ElectricalStrategyType; import com.casic.missiles.utils.SnowflakeUtil; import com.casic.missiles.utils.SpringContextUtil; import lombok.RequiredArgsConstructor; @@ -67,7 +65,10 @@ if (ObjectUtils.isEmpty(request)) { return null; } + List dataItems = new ArrayList<>(); + int titleIndex = 1; Map map = BeanUtil.beanToMap(request); + //划分为最佳点,最差点,典型点 String[] pointStr = {BEST_POINT, WORST_POINT, MODEL_POINT}; //稳定性、重复性 @@ -85,12 +86,18 @@ for (BizEquipmentStandardCheckDataCalibrator rep : repList) { populateCheckData(repMapList, rep); } + titleIndex++; + } else { + //选择性删除 + addDataRemoveItem(dataItems, titleIndex++, ""); } BizEquipmentStandardCheckDataCalibrator checkDataCalibrator = new BizEquipmentStandardCheckDataCalibrator(); for (int k = repMapList.size(); k < standardEquipmentColConfig.getMultiCalibration(); k++) { populateCheckData(repMapList, checkDataCalibrator); } map.put(REPEAT_PREFIX + (i + 1), repMapList); + map.put("surveyor", "{{@surveyor}}"); + map.put("auditor", "{{@auditor}}"); repMapList = new ArrayList<>(); //稳定性 List staList = request.getCheckDataCalibratorList() @@ -121,9 +128,15 @@ } map.put(STA_PREFIX + (i + 1), repMapList); } + map.put("pdfStatus", 1); //除了选用的模板不一致,模板配置流程是一致的 - String wordUrl = printFileRegister.registerPrintFile(MULTIFUNCTION_CHECK_DATA, "数据打印", null, map, false, null, null); + String wordUrl = printFileRegister.registerPrintFile(MULTIFUNCTION_CHECK_DATA, "数据打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .build()); List urlList = new ArrayList<>(); if (StringUtils.isNotEmpty(wordUrl)) { urlList.add(wordUrl); @@ -158,6 +171,10 @@ //最大允许误差 safety.setMaximumError("±" + safety.getMaximumError()); } + if (StringUtils.isNotEmpty(safety.getUnit()) && !safety.getUnit().contains("/")) { + //单位 + safety.setUnit(safety.getUnit() + "/" + safety.getCapacity()); + } safety.applyStrategyBasedOnDataType(measureItemInfo.getItemCategoryName()); safetyList.add(safety); } @@ -168,7 +185,7 @@ BizBusinessDeviceMeasureApprovalMapper bizBusinessMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); //准备封面参数 readyForCoverParams(map, measureItemInfo.getLabCode()); - if (!map.containsKey("equipmentList")|| org.springframework.util.CollectionUtils.isEmpty((List)map.get("equipmentList"))) { + if (!map.containsKey("equipmentList") || org.springframework.util.CollectionUtils.isEmpty((List) map.get("equipmentList"))) { List equipmentList = bizBusinessDeviceMeasureEquipmentMapper.selectEquipmentListByDataId(measureItemInfo.getDataId()); if (org.springframework.util.CollectionUtils.isEmpty(equipmentList)) { equipmentList = new ArrayList<>(); @@ -231,6 +248,10 @@ //最大允许误差 safety.setMaximumError("±" + safety.getMaximumError()); } + if (StringUtils.isNotEmpty(safety.getUnit()) && !safety.getUnit().contains("/")) { + //单位 + safety.setUnit(safety.getUnit() + "/" + safety.getCapacity()); + } safety.applyStrategyBasedOnDataType(measureItemInfo.getItemCategoryName()); safetyList.add(safety); } @@ -246,7 +267,7 @@ map.put("measureDataCalibratorList", safetyList); //准备封面参数 readyForCoverParams(map, measureItemInfo.getLabCode()); - if (!map.containsKey("equipmentList")|| org.springframework.util.CollectionUtils.isEmpty((List)map.get("equipmentList"))) { + if (!map.containsKey("equipmentList") || org.springframework.util.CollectionUtils.isEmpty((List) map.get("equipmentList"))) { List equipmentList = bizBusinessDeviceMeasureEquipmentMapper.selectEquipmentListByDataId(measureItemInfo.getDataId()); if (org.springframework.util.CollectionUtils.isEmpty(equipmentList)) { equipmentList = new ArrayList<>(); 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 d622679..11c11e7 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 @@ -66,11 +66,6 @@ bizEquipmentInfoList.add(new BizEquipmentInfo()); request.setCheckEquipmentList(bizEquipmentInfoList); } - if (CollectionUtil.isEmpty(request.getCheckDataPistonGaugeList())) { - List checkDataPistonGaugeList = new ArrayList<>(); - checkDataPistonGaugeList.add(new BizEquipmentStandardCheckDataPistonGauge()); - request.setCheckDataPistonGaugeList(checkDataPistonGaugeList); - } Map map = BeanUtil.beanToMap(request); map.put(UP_STANDARD, "\uF0A3"); map.put(BELOW_STANDARD, "\uF0A3"); @@ -80,16 +75,24 @@ List customTemplateUrls = new ArrayList<>(1); AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); String name = dictService.getDictNameByCode("conclusion", request.getConclusion()); - handlerCheckData(map, request); + List dataItems = handlerCheckData(map, request); if (StringUtils.isNotEmpty(name)) { map.put("conclusion", name); } + map.put("surveyor", "{{@surveyor}}"); + map.put("auditor", "{{@auditor}}"); map.put("pdfStatus", 1); BizBusinessDeviceMeasureApprovalMapper bizBusinessMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); customTemplateUrls.add(bizBusinessMapper.customTemplateUrl(request.getItemCategoryName().contains("电信号") ? "电信号" : "压力值", "3", "")); //除了选用的模板不一致,模板配置流程是一致的 String wordUrl = printFileRegister.registerPrintFile(RESISTANCE_CHECK_DATA, request.getItemCategoryName().contains("电信号") ? "电信号导出模板" : "压力导出模板", - null, map, false, null, customTemplateUrls); + null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(customTemplateUrls) + .build()); List urlList = new ArrayList<>(); if (StringUtils.isNotEmpty(wordUrl)) { urlList.add(wordUrl); @@ -256,11 +259,6 @@ map.put("setPointGaugeList", setPointGaugeList); map.put("setPointList", setPointList); List dataItems = checkCertificateRemoveItem(measureItemInfo, map); -// if (measureItemInfo.getMeasureCategoryName().contains("检定") || measureItemInfo.getMeasureCategoryName().contains("校检")) { -// for (ToBeRemoveDataItem dataItem : dataItems) { -// dataItem.setCustomOffset(1); -// } -// } List customTemplateUrls = new ArrayList<>(); BizBusinessDeviceMeasureApprovalMapper bizBusinessMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); customTemplateUrls.add(bizBusinessMapper.customTemplateUrl(MEASURE_DATA, "2", measureItemInfo.getMeasureCategoryName())); @@ -349,19 +347,32 @@ * @param map * @param request */ - private void handlerCheckData(Map map, BizEquipmentStandardCheckRecordApproval request) { + private List handlerCheckData(Map map, BizEquipmentStandardCheckRecordApproval request) { + List dataItems = new ArrayList<>(); + if (CollectionUtils.isEmpty(request.getCheckDataPistonGaugeList())) { + addDataRemoveItem(dataItems, 2, ""); + addDataRemoveItem(dataItems, 3, ""); + return dataItems; + } //直流电压 List voltageList = request.getCheckDataPistonGaugeList().stream().filter( e -> e.getParams().contains("电压") ).sorted((e1, e2) -> Integer.valueOf(e1.getCheckPoint()) - Integer.valueOf(e2.getCheckPoint())) .collect(Collectors.toList()); + if (CollectionUtils.isEmpty(voltageList)) { + addDataRemoveItem(dataItems, 2, ""); + } populateCheckData(map, voltageList, "voltages", "maxs1", UNIT_V, "1"); //直流电流 List electricityList = request.getCheckDataPistonGaugeList().stream().filter( e -> e.getParams().contains("电流") ).sorted((e1, e2) -> Integer.valueOf(e1.getCheckPoint()) - Integer.valueOf(e2.getCheckPoint())) .collect(Collectors.toList()); + if (CollectionUtils.isEmpty(electricityList)) { + addDataRemoveItem(dataItems, 3, ""); + } populateCheckData(map, electricityList, "electricitys", "maxs2", UNIT_I, "2"); + return dataItems; } /** @@ -556,7 +567,7 @@ if (StringUtils.isEmpty(measureItemInfo.getAppearance())) { addDataRemoveItem(dataItems, -1, "外观"); } else { - map.put("firstSeq", titleIndex+++"."); + map.put("firstSeq", titleIndex++ + "."); } //如果是功能校准源,则进行一下删除 switch (measureItemInfo.getItemCategoryName()) { @@ -581,7 +592,7 @@ if (!measureItemInfo.getMeasureItemConfigPistonGauge().getTightness()) { addDataRemoveItem(dataItems, -1, "密封性"); } else { - map.put("secondSeq", titleIndex+++ "."); + map.put("secondSeq", titleIndex++ + "."); } if (!measureItemInfo.getMeasureItemConfigPistonGauge().getInsulationResistance()) { addDataRemoveItem(dataItems, -1, "绝缘电阻"); diff --git a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java index bbe9ce7..708276f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java @@ -25,11 +25,11 @@ BigDecimal returnValue = new BigDecimal(measureDataPistonGauge.getReturnError()); BigDecimal maxReturnError = new BigDecimal(measureDataPistonGauge.getMaxReturnError()); int returnCompareMax = returnValue.compareTo(maxReturnError); - if (returnCompareMax > 0) { + if (returnCompareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getReturnError()); + builder.append(measureDataPistonGauge.getMaxReturnError()); builder.append("*"); - measureDataPistonGauge.setReturnError(builder.toString()); + measureDataPistonGauge.setMaxReturnError(builder.toString()); } } //最大示值误差比较 @@ -38,11 +38,11 @@ BigDecimal indicatingError = new BigDecimal(measureDataPistonGauge.getIndicatingError()); BigDecimal maxIndicatingError = new BigDecimal(measureDataPistonGauge.getMaxIndicatingError()); int compareMax = indicatingError.compareTo(maxIndicatingError); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getIndicatingError()); + builder.append(measureDataPistonGauge.getMaxIndicatingError()); builder.append("*"); - measureDataPistonGauge.setIndicatingError(builder.toString()); + measureDataPistonGauge.setMaxIndicatingError(builder.toString()); } } //轻巧位移误差 @@ -52,11 +52,11 @@ BigDecimal maximumError = new BigDecimal(measureDataPistonGauge.getFrictionError()); BigDecimal maxFrictionError = new BigDecimal(measureDataPistonGauge.getMaxFrictionError()); int compareMax = maximumError.compareTo(maxFrictionError); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getFrictionError()); + builder.append(measureDataPistonGauge.getMaxFrictionError()); builder.append("*"); - measureDataPistonGauge.setFrictionError(builder.toString()); + measureDataPistonGauge.setMaxFrictionError(builder.toString()); } } } @@ -76,11 +76,11 @@ BigDecimal pointDeviation = new BigDecimal(measureDataPistonGauge.getPointDeviation()); BigDecimal maxPointDeviation = new BigDecimal(measureDataPistonGauge.getMaxPointDeviation()); int compareMax = pointDeviation.compareTo(maxPointDeviation); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getPointDeviation()); + builder.append(measureDataPistonGauge.getMaxPointDeviation()); builder.append("*"); - measureDataPistonGauge.setPointDeviation(builder.toString()); + measureDataPistonGauge.setMaxPointDeviation(builder.toString()); } } //最大切换差 @@ -89,11 +89,11 @@ BigDecimal differentGap = new BigDecimal(measureDataPistonGauge.getDifferentGap()); BigDecimal maxDifferentGap = new BigDecimal(measureDataPistonGauge.getMaxDifferentGap()); int compareMax = differentGap.compareTo(maxDifferentGap); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getDifferentGap()); + builder.append(measureDataPistonGauge.getMaxDifferentGap()); builder.append("*"); - measureDataPistonGauge.setDifferentGap(builder.toString()); + measureDataPistonGauge.setMaxDifferentGap(builder.toString()); } } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java index 18a784d..03c6121 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java @@ -16,14 +16,12 @@ import com.casic.missiles.mapper.business.BizBusinessDeviceMeasureEquipmentMapper; import com.casic.missiles.model.business.BizBusinessDeviceMeasureApproval; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataCalibrator; -import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataElectricalSafety; import com.casic.missiles.model.equipment.BizEquipmentInfo; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataCalibrator; 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.strategy.impl.ElectricalStrategyType; import com.casic.missiles.utils.SnowflakeUtil; import com.casic.missiles.utils.SpringContextUtil; import lombok.RequiredArgsConstructor; @@ -67,7 +65,10 @@ if (ObjectUtils.isEmpty(request)) { return null; } + List dataItems = new ArrayList<>(); + int titleIndex = 1; Map map = BeanUtil.beanToMap(request); + //划分为最佳点,最差点,典型点 String[] pointStr = {BEST_POINT, WORST_POINT, MODEL_POINT}; //稳定性、重复性 @@ -85,12 +86,18 @@ for (BizEquipmentStandardCheckDataCalibrator rep : repList) { populateCheckData(repMapList, rep); } + titleIndex++; + } else { + //选择性删除 + addDataRemoveItem(dataItems, titleIndex++, ""); } BizEquipmentStandardCheckDataCalibrator checkDataCalibrator = new BizEquipmentStandardCheckDataCalibrator(); for (int k = repMapList.size(); k < standardEquipmentColConfig.getMultiCalibration(); k++) { populateCheckData(repMapList, checkDataCalibrator); } map.put(REPEAT_PREFIX + (i + 1), repMapList); + map.put("surveyor", "{{@surveyor}}"); + map.put("auditor", "{{@auditor}}"); repMapList = new ArrayList<>(); //稳定性 List staList = request.getCheckDataCalibratorList() @@ -121,9 +128,15 @@ } map.put(STA_PREFIX + (i + 1), repMapList); } + map.put("pdfStatus", 1); //除了选用的模板不一致,模板配置流程是一致的 - String wordUrl = printFileRegister.registerPrintFile(MULTIFUNCTION_CHECK_DATA, "数据打印", null, map, false, null, null); + String wordUrl = printFileRegister.registerPrintFile(MULTIFUNCTION_CHECK_DATA, "数据打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .build()); List urlList = new ArrayList<>(); if (StringUtils.isNotEmpty(wordUrl)) { urlList.add(wordUrl); @@ -158,6 +171,10 @@ //最大允许误差 safety.setMaximumError("±" + safety.getMaximumError()); } + if (StringUtils.isNotEmpty(safety.getUnit()) && !safety.getUnit().contains("/")) { + //单位 + safety.setUnit(safety.getUnit() + "/" + safety.getCapacity()); + } safety.applyStrategyBasedOnDataType(measureItemInfo.getItemCategoryName()); safetyList.add(safety); } @@ -168,7 +185,7 @@ BizBusinessDeviceMeasureApprovalMapper bizBusinessMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); //准备封面参数 readyForCoverParams(map, measureItemInfo.getLabCode()); - if (!map.containsKey("equipmentList")|| org.springframework.util.CollectionUtils.isEmpty((List)map.get("equipmentList"))) { + if (!map.containsKey("equipmentList") || org.springframework.util.CollectionUtils.isEmpty((List) map.get("equipmentList"))) { List equipmentList = bizBusinessDeviceMeasureEquipmentMapper.selectEquipmentListByDataId(measureItemInfo.getDataId()); if (org.springframework.util.CollectionUtils.isEmpty(equipmentList)) { equipmentList = new ArrayList<>(); @@ -231,6 +248,10 @@ //最大允许误差 safety.setMaximumError("±" + safety.getMaximumError()); } + if (StringUtils.isNotEmpty(safety.getUnit()) && !safety.getUnit().contains("/")) { + //单位 + safety.setUnit(safety.getUnit() + "/" + safety.getCapacity()); + } safety.applyStrategyBasedOnDataType(measureItemInfo.getItemCategoryName()); safetyList.add(safety); } @@ -246,7 +267,7 @@ map.put("measureDataCalibratorList", safetyList); //准备封面参数 readyForCoverParams(map, measureItemInfo.getLabCode()); - if (!map.containsKey("equipmentList")|| org.springframework.util.CollectionUtils.isEmpty((List)map.get("equipmentList"))) { + if (!map.containsKey("equipmentList") || org.springframework.util.CollectionUtils.isEmpty((List) map.get("equipmentList"))) { List equipmentList = bizBusinessDeviceMeasureEquipmentMapper.selectEquipmentListByDataId(measureItemInfo.getDataId()); if (org.springframework.util.CollectionUtils.isEmpty(equipmentList)) { equipmentList = new ArrayList<>(); 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 d622679..11c11e7 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 @@ -66,11 +66,6 @@ bizEquipmentInfoList.add(new BizEquipmentInfo()); request.setCheckEquipmentList(bizEquipmentInfoList); } - if (CollectionUtil.isEmpty(request.getCheckDataPistonGaugeList())) { - List checkDataPistonGaugeList = new ArrayList<>(); - checkDataPistonGaugeList.add(new BizEquipmentStandardCheckDataPistonGauge()); - request.setCheckDataPistonGaugeList(checkDataPistonGaugeList); - } Map map = BeanUtil.beanToMap(request); map.put(UP_STANDARD, "\uF0A3"); map.put(BELOW_STANDARD, "\uF0A3"); @@ -80,16 +75,24 @@ List customTemplateUrls = new ArrayList<>(1); AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); String name = dictService.getDictNameByCode("conclusion", request.getConclusion()); - handlerCheckData(map, request); + List dataItems = handlerCheckData(map, request); if (StringUtils.isNotEmpty(name)) { map.put("conclusion", name); } + map.put("surveyor", "{{@surveyor}}"); + map.put("auditor", "{{@auditor}}"); map.put("pdfStatus", 1); BizBusinessDeviceMeasureApprovalMapper bizBusinessMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); customTemplateUrls.add(bizBusinessMapper.customTemplateUrl(request.getItemCategoryName().contains("电信号") ? "电信号" : "压力值", "3", "")); //除了选用的模板不一致,模板配置流程是一致的 String wordUrl = printFileRegister.registerPrintFile(RESISTANCE_CHECK_DATA, request.getItemCategoryName().contains("电信号") ? "电信号导出模板" : "压力导出模板", - null, map, false, null, customTemplateUrls); + null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(customTemplateUrls) + .build()); List urlList = new ArrayList<>(); if (StringUtils.isNotEmpty(wordUrl)) { urlList.add(wordUrl); @@ -256,11 +259,6 @@ map.put("setPointGaugeList", setPointGaugeList); map.put("setPointList", setPointList); List dataItems = checkCertificateRemoveItem(measureItemInfo, map); -// if (measureItemInfo.getMeasureCategoryName().contains("检定") || measureItemInfo.getMeasureCategoryName().contains("校检")) { -// for (ToBeRemoveDataItem dataItem : dataItems) { -// dataItem.setCustomOffset(1); -// } -// } List customTemplateUrls = new ArrayList<>(); BizBusinessDeviceMeasureApprovalMapper bizBusinessMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); customTemplateUrls.add(bizBusinessMapper.customTemplateUrl(MEASURE_DATA, "2", measureItemInfo.getMeasureCategoryName())); @@ -349,19 +347,32 @@ * @param map * @param request */ - private void handlerCheckData(Map map, BizEquipmentStandardCheckRecordApproval request) { + private List handlerCheckData(Map map, BizEquipmentStandardCheckRecordApproval request) { + List dataItems = new ArrayList<>(); + if (CollectionUtils.isEmpty(request.getCheckDataPistonGaugeList())) { + addDataRemoveItem(dataItems, 2, ""); + addDataRemoveItem(dataItems, 3, ""); + return dataItems; + } //直流电压 List voltageList = request.getCheckDataPistonGaugeList().stream().filter( e -> e.getParams().contains("电压") ).sorted((e1, e2) -> Integer.valueOf(e1.getCheckPoint()) - Integer.valueOf(e2.getCheckPoint())) .collect(Collectors.toList()); + if (CollectionUtils.isEmpty(voltageList)) { + addDataRemoveItem(dataItems, 2, ""); + } populateCheckData(map, voltageList, "voltages", "maxs1", UNIT_V, "1"); //直流电流 List electricityList = request.getCheckDataPistonGaugeList().stream().filter( e -> e.getParams().contains("电流") ).sorted((e1, e2) -> Integer.valueOf(e1.getCheckPoint()) - Integer.valueOf(e2.getCheckPoint())) .collect(Collectors.toList()); + if (CollectionUtils.isEmpty(electricityList)) { + addDataRemoveItem(dataItems, 3, ""); + } populateCheckData(map, electricityList, "electricitys", "maxs2", UNIT_I, "2"); + return dataItems; } /** @@ -556,7 +567,7 @@ if (StringUtils.isEmpty(measureItemInfo.getAppearance())) { addDataRemoveItem(dataItems, -1, "外观"); } else { - map.put("firstSeq", titleIndex+++"."); + map.put("firstSeq", titleIndex++ + "."); } //如果是功能校准源,则进行一下删除 switch (measureItemInfo.getItemCategoryName()) { @@ -581,7 +592,7 @@ if (!measureItemInfo.getMeasureItemConfigPistonGauge().getTightness()) { addDataRemoveItem(dataItems, -1, "密封性"); } else { - map.put("secondSeq", titleIndex+++ "."); + map.put("secondSeq", titleIndex++ + "."); } if (!measureItemInfo.getMeasureItemConfigPistonGauge().getInsulationResistance()) { addDataRemoveItem(dataItems, -1, "绝缘电阻"); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/ParseWord07.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/ParseWord07.java index b043982..d80962c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/ParseWord07.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/ParseWord07.java @@ -243,8 +243,7 @@ } int endIndex = positionIndex; int rowIndex = positionIndex + 1; - while ((maxEndIndex > positionIndex && rowIndex <= maxEndIndex) || - (maxEndIndex == positionIndex && rowIndex < table.getNumberOfRows())) { + while ((maxEndIndex > positionIndex && rowIndex <= maxEndIndex)) { if (table.getRow(rowIndex).getTableCells().get(i).getText().equals(row.getCell(i).getText())) { endIndex = rowIndex; rowIndex++; @@ -252,7 +251,7 @@ break; } } - maxEndIndex = i == 0 ? endIndex : maxEndIndex; + maxEndIndex =endIndex; if (endIndex > startIndex) { doMergeCell(table, startIndex, endIndex, i); } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java index bbe9ce7..708276f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/strategy/impl/PistonGaugeType.java @@ -25,11 +25,11 @@ BigDecimal returnValue = new BigDecimal(measureDataPistonGauge.getReturnError()); BigDecimal maxReturnError = new BigDecimal(measureDataPistonGauge.getMaxReturnError()); int returnCompareMax = returnValue.compareTo(maxReturnError); - if (returnCompareMax > 0) { + if (returnCompareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getReturnError()); + builder.append(measureDataPistonGauge.getMaxReturnError()); builder.append("*"); - measureDataPistonGauge.setReturnError(builder.toString()); + measureDataPistonGauge.setMaxReturnError(builder.toString()); } } //最大示值误差比较 @@ -38,11 +38,11 @@ BigDecimal indicatingError = new BigDecimal(measureDataPistonGauge.getIndicatingError()); BigDecimal maxIndicatingError = new BigDecimal(measureDataPistonGauge.getMaxIndicatingError()); int compareMax = indicatingError.compareTo(maxIndicatingError); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getIndicatingError()); + builder.append(measureDataPistonGauge.getMaxIndicatingError()); builder.append("*"); - measureDataPistonGauge.setIndicatingError(builder.toString()); + measureDataPistonGauge.setMaxIndicatingError(builder.toString()); } } //轻巧位移误差 @@ -52,11 +52,11 @@ BigDecimal maximumError = new BigDecimal(measureDataPistonGauge.getFrictionError()); BigDecimal maxFrictionError = new BigDecimal(measureDataPistonGauge.getMaxFrictionError()); int compareMax = maximumError.compareTo(maxFrictionError); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getFrictionError()); + builder.append(measureDataPistonGauge.getMaxFrictionError()); builder.append("*"); - measureDataPistonGauge.setFrictionError(builder.toString()); + measureDataPistonGauge.setMaxFrictionError(builder.toString()); } } } @@ -76,11 +76,11 @@ BigDecimal pointDeviation = new BigDecimal(measureDataPistonGauge.getPointDeviation()); BigDecimal maxPointDeviation = new BigDecimal(measureDataPistonGauge.getMaxPointDeviation()); int compareMax = pointDeviation.compareTo(maxPointDeviation); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getPointDeviation()); + builder.append(measureDataPistonGauge.getMaxPointDeviation()); builder.append("*"); - measureDataPistonGauge.setPointDeviation(builder.toString()); + measureDataPistonGauge.setMaxPointDeviation(builder.toString()); } } //最大切换差 @@ -89,11 +89,11 @@ BigDecimal differentGap = new BigDecimal(measureDataPistonGauge.getDifferentGap()); BigDecimal maxDifferentGap = new BigDecimal(measureDataPistonGauge.getMaxDifferentGap()); int compareMax = differentGap.compareTo(maxDifferentGap); - if (compareMax > 0) { + if (compareMax < 0) { StringBuilder builder = new StringBuilder(); - builder.append(measureDataPistonGauge.getDifferentGap()); + builder.append(measureDataPistonGauge.getMaxDifferentGap()); builder.append("*"); - measureDataPistonGauge.setDifferentGap(builder.toString()); + measureDataPistonGauge.setMaxDifferentGap(builder.toString()); } } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java index 18a784d..03c6121 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java @@ -16,14 +16,12 @@ import com.casic.missiles.mapper.business.BizBusinessDeviceMeasureEquipmentMapper; import com.casic.missiles.model.business.BizBusinessDeviceMeasureApproval; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataCalibrator; -import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataElectricalSafety; import com.casic.missiles.model.equipment.BizEquipmentInfo; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataCalibrator; 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.strategy.impl.ElectricalStrategyType; import com.casic.missiles.utils.SnowflakeUtil; import com.casic.missiles.utils.SpringContextUtil; import lombok.RequiredArgsConstructor; @@ -67,7 +65,10 @@ if (ObjectUtils.isEmpty(request)) { return null; } + List dataItems = new ArrayList<>(); + int titleIndex = 1; Map map = BeanUtil.beanToMap(request); + //划分为最佳点,最差点,典型点 String[] pointStr = {BEST_POINT, WORST_POINT, MODEL_POINT}; //稳定性、重复性 @@ -85,12 +86,18 @@ for (BizEquipmentStandardCheckDataCalibrator rep : repList) { populateCheckData(repMapList, rep); } + titleIndex++; + } else { + //选择性删除 + addDataRemoveItem(dataItems, titleIndex++, ""); } BizEquipmentStandardCheckDataCalibrator checkDataCalibrator = new BizEquipmentStandardCheckDataCalibrator(); for (int k = repMapList.size(); k < standardEquipmentColConfig.getMultiCalibration(); k++) { populateCheckData(repMapList, checkDataCalibrator); } map.put(REPEAT_PREFIX + (i + 1), repMapList); + map.put("surveyor", "{{@surveyor}}"); + map.put("auditor", "{{@auditor}}"); repMapList = new ArrayList<>(); //稳定性 List staList = request.getCheckDataCalibratorList() @@ -121,9 +128,15 @@ } map.put(STA_PREFIX + (i + 1), repMapList); } + map.put("pdfStatus", 1); //除了选用的模板不一致,模板配置流程是一致的 - String wordUrl = printFileRegister.registerPrintFile(MULTIFUNCTION_CHECK_DATA, "数据打印", null, map, false, null, null); + String wordUrl = printFileRegister.registerPrintFile(MULTIFUNCTION_CHECK_DATA, "数据打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .build()); List urlList = new ArrayList<>(); if (StringUtils.isNotEmpty(wordUrl)) { urlList.add(wordUrl); @@ -158,6 +171,10 @@ //最大允许误差 safety.setMaximumError("±" + safety.getMaximumError()); } + if (StringUtils.isNotEmpty(safety.getUnit()) && !safety.getUnit().contains("/")) { + //单位 + safety.setUnit(safety.getUnit() + "/" + safety.getCapacity()); + } safety.applyStrategyBasedOnDataType(measureItemInfo.getItemCategoryName()); safetyList.add(safety); } @@ -168,7 +185,7 @@ BizBusinessDeviceMeasureApprovalMapper bizBusinessMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); //准备封面参数 readyForCoverParams(map, measureItemInfo.getLabCode()); - if (!map.containsKey("equipmentList")|| org.springframework.util.CollectionUtils.isEmpty((List)map.get("equipmentList"))) { + if (!map.containsKey("equipmentList") || org.springframework.util.CollectionUtils.isEmpty((List) map.get("equipmentList"))) { List equipmentList = bizBusinessDeviceMeasureEquipmentMapper.selectEquipmentListByDataId(measureItemInfo.getDataId()); if (org.springframework.util.CollectionUtils.isEmpty(equipmentList)) { equipmentList = new ArrayList<>(); @@ -231,6 +248,10 @@ //最大允许误差 safety.setMaximumError("±" + safety.getMaximumError()); } + if (StringUtils.isNotEmpty(safety.getUnit()) && !safety.getUnit().contains("/")) { + //单位 + safety.setUnit(safety.getUnit() + "/" + safety.getCapacity()); + } safety.applyStrategyBasedOnDataType(measureItemInfo.getItemCategoryName()); safetyList.add(safety); } @@ -246,7 +267,7 @@ map.put("measureDataCalibratorList", safetyList); //准备封面参数 readyForCoverParams(map, measureItemInfo.getLabCode()); - if (!map.containsKey("equipmentList")|| org.springframework.util.CollectionUtils.isEmpty((List)map.get("equipmentList"))) { + if (!map.containsKey("equipmentList") || org.springframework.util.CollectionUtils.isEmpty((List) map.get("equipmentList"))) { List equipmentList = bizBusinessDeviceMeasureEquipmentMapper.selectEquipmentListByDataId(measureItemInfo.getDataId()); if (org.springframework.util.CollectionUtils.isEmpty(equipmentList)) { equipmentList = new ArrayList<>(); 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 d622679..11c11e7 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 @@ -66,11 +66,6 @@ bizEquipmentInfoList.add(new BizEquipmentInfo()); request.setCheckEquipmentList(bizEquipmentInfoList); } - if (CollectionUtil.isEmpty(request.getCheckDataPistonGaugeList())) { - List checkDataPistonGaugeList = new ArrayList<>(); - checkDataPistonGaugeList.add(new BizEquipmentStandardCheckDataPistonGauge()); - request.setCheckDataPistonGaugeList(checkDataPistonGaugeList); - } Map map = BeanUtil.beanToMap(request); map.put(UP_STANDARD, "\uF0A3"); map.put(BELOW_STANDARD, "\uF0A3"); @@ -80,16 +75,24 @@ List customTemplateUrls = new ArrayList<>(1); AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); String name = dictService.getDictNameByCode("conclusion", request.getConclusion()); - handlerCheckData(map, request); + List dataItems = handlerCheckData(map, request); if (StringUtils.isNotEmpty(name)) { map.put("conclusion", name); } + map.put("surveyor", "{{@surveyor}}"); + map.put("auditor", "{{@auditor}}"); map.put("pdfStatus", 1); BizBusinessDeviceMeasureApprovalMapper bizBusinessMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); customTemplateUrls.add(bizBusinessMapper.customTemplateUrl(request.getItemCategoryName().contains("电信号") ? "电信号" : "压力值", "3", "")); //除了选用的模板不一致,模板配置流程是一致的 String wordUrl = printFileRegister.registerPrintFile(RESISTANCE_CHECK_DATA, request.getItemCategoryName().contains("电信号") ? "电信号导出模板" : "压力导出模板", - null, map, false, null, customTemplateUrls); + null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(customTemplateUrls) + .build()); List urlList = new ArrayList<>(); if (StringUtils.isNotEmpty(wordUrl)) { urlList.add(wordUrl); @@ -256,11 +259,6 @@ map.put("setPointGaugeList", setPointGaugeList); map.put("setPointList", setPointList); List dataItems = checkCertificateRemoveItem(measureItemInfo, map); -// if (measureItemInfo.getMeasureCategoryName().contains("检定") || measureItemInfo.getMeasureCategoryName().contains("校检")) { -// for (ToBeRemoveDataItem dataItem : dataItems) { -// dataItem.setCustomOffset(1); -// } -// } List customTemplateUrls = new ArrayList<>(); BizBusinessDeviceMeasureApprovalMapper bizBusinessMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); customTemplateUrls.add(bizBusinessMapper.customTemplateUrl(MEASURE_DATA, "2", measureItemInfo.getMeasureCategoryName())); @@ -349,19 +347,32 @@ * @param map * @param request */ - private void handlerCheckData(Map map, BizEquipmentStandardCheckRecordApproval request) { + private List handlerCheckData(Map map, BizEquipmentStandardCheckRecordApproval request) { + List dataItems = new ArrayList<>(); + if (CollectionUtils.isEmpty(request.getCheckDataPistonGaugeList())) { + addDataRemoveItem(dataItems, 2, ""); + addDataRemoveItem(dataItems, 3, ""); + return dataItems; + } //直流电压 List voltageList = request.getCheckDataPistonGaugeList().stream().filter( e -> e.getParams().contains("电压") ).sorted((e1, e2) -> Integer.valueOf(e1.getCheckPoint()) - Integer.valueOf(e2.getCheckPoint())) .collect(Collectors.toList()); + if (CollectionUtils.isEmpty(voltageList)) { + addDataRemoveItem(dataItems, 2, ""); + } populateCheckData(map, voltageList, "voltages", "maxs1", UNIT_V, "1"); //直流电流 List electricityList = request.getCheckDataPistonGaugeList().stream().filter( e -> e.getParams().contains("电流") ).sorted((e1, e2) -> Integer.valueOf(e1.getCheckPoint()) - Integer.valueOf(e2.getCheckPoint())) .collect(Collectors.toList()); + if (CollectionUtils.isEmpty(electricityList)) { + addDataRemoveItem(dataItems, 3, ""); + } populateCheckData(map, electricityList, "electricitys", "maxs2", UNIT_I, "2"); + return dataItems; } /** @@ -556,7 +567,7 @@ if (StringUtils.isEmpty(measureItemInfo.getAppearance())) { addDataRemoveItem(dataItems, -1, "外观"); } else { - map.put("firstSeq", titleIndex+++"."); + map.put("firstSeq", titleIndex++ + "."); } //如果是功能校准源,则进行一下删除 switch (measureItemInfo.getItemCategoryName()) { @@ -581,7 +592,7 @@ if (!measureItemInfo.getMeasureItemConfigPistonGauge().getTightness()) { addDataRemoveItem(dataItems, -1, "密封性"); } else { - map.put("secondSeq", titleIndex+++ "."); + map.put("secondSeq", titleIndex++ + "."); } if (!measureItemInfo.getMeasureItemConfigPistonGauge().getInsulationResistance()) { addDataRemoveItem(dataItems, -1, "绝缘电阻"); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/ParseWord07.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/ParseWord07.java index b043982..d80962c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/ParseWord07.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/ParseWord07.java @@ -243,8 +243,7 @@ } int endIndex = positionIndex; int rowIndex = positionIndex + 1; - while ((maxEndIndex > positionIndex && rowIndex <= maxEndIndex) || - (maxEndIndex == positionIndex && rowIndex < table.getNumberOfRows())) { + while ((maxEndIndex > positionIndex && rowIndex <= maxEndIndex)) { if (table.getRow(rowIndex).getTableCells().get(i).getText().equals(row.getCell(i).getText())) { endIndex = rowIndex; rowIndex++; @@ -252,7 +251,7 @@ break; } } - maxEndIndex = i == 0 ? endIndex : maxEndIndex; + maxEndIndex =endIndex; if (endIndex > startIndex) { doMergeCell(table, startIndex, endIndex, i); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/WordUtil.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/WordUtil.java index 1015d60..796a2b7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/WordUtil.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/WordUtil.java @@ -42,14 +42,15 @@ org.apache.poi.xwpf.usermodel.XWPFDocument document = new org.apache.poi.xwpf.usermodel.XWPFDocument(in); // 存在两个下标,一个是当前文档的下标,一个是查询空的下标,两个下标同时移动,判断是表还是普通文段 int tableIndex = 0, currentTableIndex = 0; - for (int paragraphIndex = 0; (tableIndex + paragraphIndex) < document.getBodyElements().size() && ( + int paragraphIndex = 0; + for (; (tableIndex + paragraphIndex) < document.getBodyElements().size() && ( dataItemIndex < paragraphDataItem.size() || tableItemIndex < tableDataItem.size()); ) { //段落的情况下根据内容进行删除 if ("PARAGRAPH".equals(document.getBodyElements().get(tableIndex + paragraphIndex).getElementType().name())) { if (dataItemIndex < paragraphDataItem.size()) { ToBeRemoveDataItem removeDataItem = paragraphDataItem.get(dataItemIndex); if (document.getParagraphs().get(paragraphIndex).getText().contains(removeDataItem.getParamContent())) { - document.removeBodyElement(tableIndex + paragraphIndex+removeDataItem.getCustomOffset()); + document.removeBodyElement(tableIndex + paragraphIndex + removeDataItem.getCustomOffset()); paragraphIndex--; dataItemIndex++; continue; @@ -60,7 +61,7 @@ if (tableItemIndex < tableDataItem.size()) { ToBeRemoveDataItem removeTableItem = tableDataItem.get(tableItemIndex); //表格的情况下根据下标进行删除内容 - if (currentTableIndex++ == (removeTableItem.getTableIndex()-removeTableItem.getCustomOffset() - 1)) { + if (currentTableIndex++ == (removeTableItem.getTableIndex() - removeTableItem.getCustomOffset() - 1)) { document.removeBodyElement(tableIndex + paragraphIndex); paragraphIndex--; tableItemIndex++; @@ -72,6 +73,26 @@ contentControlIndex++; } } + paragraphIndex--; + //去除后缀的空格 + if ((tableIndex + paragraphIndex) < document.getBodyElements().size() && tableItemIndex >= tableDataItem.size()) { + Boolean emptyFlag = true; + int tempIndex=paragraphIndex; + while ((tableIndex + tempIndex) < document.getBodyElements().size()) { + if (!"PARAGRAPH".equals(document.getBodyElements().get(tableIndex + tempIndex).getElementType().name()) || !"".equals(document.getParagraphs().get(paragraphIndex).getText())) { + emptyFlag = false; + } + tempIndex++; + } + if (emptyFlag) { + while ((tableIndex + paragraphIndex) < document.getBodyElements().size()) { + if ("PARAGRAPH".equals(document.getBodyElements().get(tableIndex + paragraphIndex).getElementType().name()) && "".equals(document.getParagraphs().get(paragraphIndex).getText())) { + document.removeBodyElement(tableIndex + paragraphIndex); + } + paragraphIndex++; + } + } + } // 将修改后的文档写入新文件 FileOutputStream out = new FileOutputStream(filePath); document.write(out);