diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/BizEquipmentStandardCheckRecordApprovalMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/BizEquipmentStandardCheckRecordApprovalMapper.xml index 5fd9c1b..dbaa721 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/BizEquipmentStandardCheckRecordApprovalMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/BizEquipmentStandardCheckRecordApprovalMapper.xml @@ -119,16 +119,21 @@ + - - - + + + + - + + + + @@ -140,9 +145,10 @@ SELECT - bescra.id, - bescra.record_no,bescra.record_name,besci.check_date,besci.check_address, besci.create_user_name,besi.standard_name AS standardEquipmentName, beit.equipment_name AS equipmentName, + bescra.id,bescra.data_id,bescra.record_no,bescra.record_name, + besci.check_date,besci.check_address, besci.create_user_name,besi.standard_name AS standardEquipmentName, beit.equipment_name AS equipmentName,besci.create_user_name AS checkUserName, beit.model AS equipmentModel,besci.data_no, beit.manufacture_no AS equipmentManufactureNo, + bescic.id AS itemCategoryId, bescic.category_name AS itemCategoryName, bescic.belong_standard_equipment, bei.id equipment_id, bei.equipment_name, bei.model, @@ -153,6 +159,7 @@ JOIN biz_equipment_info bei ON bescie.check_equipment_id = bei.id JOIN biz_equipment_standard_info besi ON besci.standard_equipment_id = besi.id JOIN biz_equipment_info beit ON besci.equipment_id = beit.id + LEFT JOIN biz_equipment_standard_check_item_category bescic ON bescic.id = besci.item_category_id WHERE 1=1 and besi.id in 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 bec26d0..f1d618c 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 @@ -97,7 +97,8 @@ numMap.put(3, 8); numMap.put(4, 8); numMap.put(5, 8); - + List dataItems = new ArrayList<>(); + int titleIndex = 1; for (int i = 0; i < pointList.size(); i++) { String points = pointList.get(i); //重复性 @@ -120,6 +121,10 @@ repMapList.add(powerMap); } map.put(REPEAT_PREFIX + (i + 1), repMapList); + }else { + //选择性删除 + addDataRemoveItem(dataItems, titleIndex++, ""); + continue; } //稳定性 List staList = request.getCheckDataDcPowerList() @@ -177,6 +182,9 @@ repMapList.add(powerMap); } map.put(REPEAT_PREFIX + 5, repMapList); + }else { + //选择性删除 + addDataRemoveItem(dataItems, titleIndex++, ""); } List staList = request.getCheckDataDcPowerList().stream() @@ -251,15 +259,9 @@ log.debug("校验没有原始记录"); return null; } - if (CollectionUtils.isEmpty(request.getMeasureDataDcPowerList())) { - List list = Collections.emptyList(); - request.setMeasureDataDcPowerList(list); - } DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); - readyForCoverParams(map, request.getLabCode()); - List dcPowerList = request.getMeasureDataDcPowerList(); List powerList = new ArrayList<>(); for (BizBusinessDeviceMeasureDataDcPower measureDataDcPower : dcPowerList) { @@ -269,7 +271,7 @@ } //组装原始记录打印参数 prepareParams(powerList, map); - + List dataItems = checkParamAddRomveItem(request, 3, map); replaceSlash(map); map.put("pdfStatus", 1); List templateUrls = new ArrayList<>(); @@ -279,7 +281,13 @@ map.put("id", snowflakeUtil.nextId()); log.debug("original before ----"); //除了选用的模板不一致,模板配置流程是一致的 - String originalWordUrlFile = printFileRegister.registerPrintFile(DC_POWER_SUPPLY, "原始记录打印", null, map, false, null, templateUrls); + String originalWordUrlFile = printFileRegister.registerPrintFile(DC_POWER_SUPPLY, "原始记录打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(templateUrls) + .build()); log.debug("originalUrlFile after------------{}", originalWordUrlFile); List urlList = new ArrayList<>(); if (StringUtils.isEmpty(originalWordUrlFile)) { @@ -350,11 +358,6 @@ @Override public List doCreateCertificateFile(BizBusinessDeviceMeasureApproval request) { try { - if (CollectionUtils.isEmpty(request.getMeasureDataDcPowerList())) { - List list = new ArrayList<>(); - list.add(new BizBusinessDeviceMeasureDataDcPower()); - request.setMeasureDataDcPowerList(list); - } DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); String customUrl = readyForCoverParams(map, request.getLabCode()); @@ -368,7 +371,7 @@ //准备填充参数 prepareCertificateParams(powerList, map); replaceSlash(map); - List dataItems = checkParamAddRomveItem(request, 3, map); + List dataItems = checkParamAddRomveItem(request, 4, map); List customTemplateUrls = new ArrayList<>(); log.debug("--------get Certificate template is ...."); //查询对应封面模板和检定证书模板 diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/BizEquipmentStandardCheckRecordApprovalMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/BizEquipmentStandardCheckRecordApprovalMapper.xml index 5fd9c1b..dbaa721 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/BizEquipmentStandardCheckRecordApprovalMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/BizEquipmentStandardCheckRecordApprovalMapper.xml @@ -119,16 +119,21 @@ + - - - + + + + - + + + + @@ -140,9 +145,10 @@ SELECT - bescra.id, - bescra.record_no,bescra.record_name,besci.check_date,besci.check_address, besci.create_user_name,besi.standard_name AS standardEquipmentName, beit.equipment_name AS equipmentName, + bescra.id,bescra.data_id,bescra.record_no,bescra.record_name, + besci.check_date,besci.check_address, besci.create_user_name,besi.standard_name AS standardEquipmentName, beit.equipment_name AS equipmentName,besci.create_user_name AS checkUserName, beit.model AS equipmentModel,besci.data_no, beit.manufacture_no AS equipmentManufactureNo, + bescic.id AS itemCategoryId, bescic.category_name AS itemCategoryName, bescic.belong_standard_equipment, bei.id equipment_id, bei.equipment_name, bei.model, @@ -153,6 +159,7 @@ JOIN biz_equipment_info bei ON bescie.check_equipment_id = bei.id JOIN biz_equipment_standard_info besi ON besci.standard_equipment_id = besi.id JOIN biz_equipment_info beit ON besci.equipment_id = beit.id + LEFT JOIN biz_equipment_standard_check_item_category bescic ON bescic.id = besci.item_category_id WHERE 1=1 and besi.id in 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 bec26d0..f1d618c 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 @@ -97,7 +97,8 @@ numMap.put(3, 8); numMap.put(4, 8); numMap.put(5, 8); - + List dataItems = new ArrayList<>(); + int titleIndex = 1; for (int i = 0; i < pointList.size(); i++) { String points = pointList.get(i); //重复性 @@ -120,6 +121,10 @@ repMapList.add(powerMap); } map.put(REPEAT_PREFIX + (i + 1), repMapList); + }else { + //选择性删除 + addDataRemoveItem(dataItems, titleIndex++, ""); + continue; } //稳定性 List staList = request.getCheckDataDcPowerList() @@ -177,6 +182,9 @@ repMapList.add(powerMap); } map.put(REPEAT_PREFIX + 5, repMapList); + }else { + //选择性删除 + addDataRemoveItem(dataItems, titleIndex++, ""); } List staList = request.getCheckDataDcPowerList().stream() @@ -251,15 +259,9 @@ log.debug("校验没有原始记录"); return null; } - if (CollectionUtils.isEmpty(request.getMeasureDataDcPowerList())) { - List list = Collections.emptyList(); - request.setMeasureDataDcPowerList(list); - } DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); - readyForCoverParams(map, request.getLabCode()); - List dcPowerList = request.getMeasureDataDcPowerList(); List powerList = new ArrayList<>(); for (BizBusinessDeviceMeasureDataDcPower measureDataDcPower : dcPowerList) { @@ -269,7 +271,7 @@ } //组装原始记录打印参数 prepareParams(powerList, map); - + List dataItems = checkParamAddRomveItem(request, 3, map); replaceSlash(map); map.put("pdfStatus", 1); List templateUrls = new ArrayList<>(); @@ -279,7 +281,13 @@ map.put("id", snowflakeUtil.nextId()); log.debug("original before ----"); //除了选用的模板不一致,模板配置流程是一致的 - String originalWordUrlFile = printFileRegister.registerPrintFile(DC_POWER_SUPPLY, "原始记录打印", null, map, false, null, templateUrls); + String originalWordUrlFile = printFileRegister.registerPrintFile(DC_POWER_SUPPLY, "原始记录打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(templateUrls) + .build()); log.debug("originalUrlFile after------------{}", originalWordUrlFile); List urlList = new ArrayList<>(); if (StringUtils.isEmpty(originalWordUrlFile)) { @@ -350,11 +358,6 @@ @Override public List doCreateCertificateFile(BizBusinessDeviceMeasureApproval request) { try { - if (CollectionUtils.isEmpty(request.getMeasureDataDcPowerList())) { - List list = new ArrayList<>(); - list.add(new BizBusinessDeviceMeasureDataDcPower()); - request.setMeasureDataDcPowerList(list); - } DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); String customUrl = readyForCoverParams(map, request.getLabCode()); @@ -368,7 +371,7 @@ //准备填充参数 prepareCertificateParams(powerList, map); replaceSlash(map); - List dataItems = checkParamAddRomveItem(request, 3, map); + List dataItems = checkParamAddRomveItem(request, 4, map); List customTemplateUrls = new ArrayList<>(); log.debug("--------get Certificate template is ...."); //查询对应封面模板和检定证书模板 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ETwoWeightHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ETwoWeightHandler.java index 08fc352..5d23f16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ETwoWeightHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ETwoWeightHandler.java @@ -3,6 +3,8 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.casic.missiles.dto.certificate.RegisterCustomParameters; +import com.casic.missiles.dto.certificate.ToBeRemoveDataItem; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.PrintFileModuleNameEnum; import com.casic.missiles.enums.business.MeasureItemBelongStandardEquipmentDictEnum; @@ -28,10 +30,7 @@ import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -46,8 +45,6 @@ private final PrintFileRegister printFileRegister; - private final BizBusinessDeviceMeasureEquipmentMapper bizBusinessDeviceMeasureEquipmentMapper; - private final BizBusinessDeviceMeasureApprovalMapper bizBusinessDeviceMeasureApprovalMapper; private final BizEquipmentInfoMapper equipmentInfoMapper; @@ -198,7 +195,6 @@ deltajMap.put("fiveValue", e.getAverageValue()); deltajMap.put("sixValue", e.getAverageValue()); mapReplace(deltajMap); - ; return deltajMap; }).collect(Collectors.toList()); repList.add(deltajList.get(0)); @@ -268,12 +264,6 @@ log.debug("校验没有原始记录"); return null; } - if (CollectionUtils.isEmpty(request.getMeasureDataETwoList())) { - List list = new ArrayList<>(); - list.add(new BizBusinessDeviceMeasureDataETwo()); - request.setMeasureDataETwoList(list); - } - DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); map.put("actualDivisionValue", StringUtils.isNotBlank(request.getActualDivisionValue()) ? request.getActualDivisionValue() : "/"); @@ -282,6 +272,7 @@ prepareParams(map, request.getMeasureDataETwoList()); readyForCoverParams(map, request.getLabCode()); + List dataItems = checkParamAddRomveItem(request, 1, map); List templateUrls = new ArrayList<>(); templateUrls.add(bizBusinessDeviceMeasureApprovalMapper.customTemplateUrl(ETWO_WEIGHT, "1", request.getItemCategoryName())); //与证书模板区分 @@ -290,7 +281,13 @@ map.put("pdfStatus", 1); log.debug("original before ----"); //除了选用的模板不一致,模板配置流程是一致的 - String originalWordUrlFile = printFileRegister.registerPrintFile(ETWO_WEIGHT, "原始记录打印", null, map, false, null, templateUrls); + String originalWordUrlFile = printFileRegister.registerPrintFile(ETWO_WEIGHT, "原始记录打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(templateUrls) + .build()); log.debug("originalUrlFile after------------{}", originalWordUrlFile); List urlList = new ArrayList<>(); if (StringUtils.isEmpty(originalWordUrlFile)) { @@ -307,6 +304,33 @@ } } + private List checkParamAddRomveItem(BizBusinessDeviceMeasureApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + List list = Arrays.asList("一", "二", "三", "四"); + if (StringUtils.isBlank(request.getAppearance())) { + addDataRemoveItem(dataItems, startIndex++, ""); + } else { + map.put("zeroSeq", list.get(0) + "、"); + } + Map> dataMap = request.getMeasureDataETwoList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataETwo::getDataType)); + if (!dataMap.containsKey("1")) { + addDataRemoveItem(dataItems, startIndex++, ""); + } else { + map.put("firstSeq", list.get(1) + "、"); + } + if (!dataMap.containsKey("2")) { + addDataRemoveItem(dataItems, startIndex++, "偏载误差(秤量盘形式"); + } else { + map.put("secondSeq", list.get(2) + "、"); + } + if (!dataMap.containsKey("3")) { + addDataRemoveItem(dataItems, startIndex++, "局部示值误差"); + } else { + map.put("thirdSeq", list.get(3) + "、"); + } + return dataItems; + } + /** * 原始记录填充参数 * @@ -321,7 +345,6 @@ .filter(e -> "1".equals(e.getDataType()) && REPEATABILITY.equals(e.getParams()) && StringUtils.isNotBlank(e.getPtOne())) .collect(Collectors.toList()); - getEquipment(equipmentList, repPtOneList); List repPtTwoList = eTwoList.stream() @@ -383,7 +406,6 @@ List errorPtTwoList = eTwoList.stream().filter(e -> "3".equals(e.getDataType()) && LOCAL_INDICATION_ERROR.equals(e.getParams()) && StringUtils.isNotBlank(e.getPtTwo())).collect(Collectors.toList()); getEquipment(equipmentList, errorPtTwoList); - List> errorOneMapList = errorPtOneList.stream().map(e -> { Map objectMap = BeanUtil.beanToMap(e); mapReplace(objectMap); @@ -410,7 +432,6 @@ } private void getEquipment(List> equipmentList, List list) throws Exception { - Long aEquipmentId = list.get(0).getAEquipmentId(); Long bEquipmentId = list.get(0).getBEquipmentId(); if (aEquipmentId != null && bEquipmentId != null) { @@ -491,10 +512,17 @@ SnowflakeUtil snowflakeUtil = new SnowflakeUtil(); map.put("id", snowflakeUtil.nextId()); map.put("pdfStatus", 1); + List dataItems = checkParamAddReomveItem(request, 4, map); List urlList = new ArrayList<>(); //除了选用的模板不一致,模板配置流程是一致的 log.debug("certificate before------------"); - String wordUrl = printFileRegister.registerPrintFile(ETWO_WEIGHT, "证书打印", null, map, false, null, customTemplateUrls); + String wordUrl = printFileRegister.registerPrintFile(ETWO_WEIGHT, "证书打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(customTemplateUrls) + .build()); if (StringUtils.isEmpty(wordUrl)) { return urlList; } @@ -510,6 +538,21 @@ } } + private List checkParamAddReomveItem(BizBusinessDeviceMeasureApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int titleIndex = 1; + if (StringUtils.isBlank(request.getAppearance())) { + addDataRemoveItem(dataItems, -1, "外观"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataETwoList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataETwo::getDataType)); + titleIndex = checkRemoveItem(dataMap, "1", map, "firstSeq", titleIndex, dataItems, startIndex + 1, "重复性"); + titleIndex = checkRemoveItem(dataMap, "2", map, "secondSeq", titleIndex, dataItems, startIndex + 2, "偏载误差"); + checkRemoveItem(dataMap, "3", map, "thirdSeq", titleIndex, dataItems, startIndex + 3, "局部示值误差"); + return dataItems; + } + private void prepareCertificateParams(Map map, List eTwoList) { //重复性PtOne List repPtOneList = eTwoList.stream().filter(e -> "1".equals(e.getDataType()) && REPEATABILITY.equals(e.getParams()) && StringUtils.isNotBlank(e.getPtOne())).collect(Collectors.toList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MicrowaveHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MicrowaveHandler.java index 77c877c..0ef5431 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MicrowaveHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MicrowaveHandler.java @@ -2,13 +2,14 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; +import com.casic.missiles.dto.certificate.RegisterCustomParameters; +import com.casic.missiles.dto.certificate.ToBeRemoveDataItem; 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.model.business.BizBusinessDeviceMeasureApproval; -import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataCesiumAtom; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataMicrowaveAttenuation; import com.casic.missiles.model.equipment.BizEquipmentInfo; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataMicrowaveAttenuation; @@ -23,7 +24,6 @@ import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; -import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.List; @@ -103,7 +103,7 @@ att.setTestValueTen(StringUtils.isNotBlank(att.getTestValueTen()) ? att.getTestValueTen() + att.getAttenuationAmountUnit() : att.getTestValueTen()); att.setAverageValue(StringUtils.isNotBlank(att.getAverageValue()) ? att.getAverageValue() + att.getAttenuationAmountUnit() : att.getAverageValue()); }).collect(Collectors.toList()); - map.put("repList",repList); + map.put("repList", repList); List staList = attenuationList.stream().filter(att -> STABILITY.equals(att.getCheckType())) .peek(att -> { att.setFrequency(StringUtils.isNotBlank(att.getFrequency()) ? att.getFrequency() + att.getFrequencyUnit() : att.getFrequency()); @@ -117,15 +117,15 @@ att.setAverageValue(StringUtils.isNotBlank(att.getAverageValue()) ? att.getAverageValue() + att.getAttenuationAmountUnit() : att.getAverageValue()); att.setLessThanValue(att.getLessThan() != null && att.getLessThan() == 1 ? "合格" : "不合格"); }).collect(Collectors.toList()); - map.put("staList",staList); + map.put("staList", staList); BizEquipmentStandardCheckDataMicrowaveAttenuation microwaveAttenuation = staList.get(0); - map.put(STA_PREFIX+DATE_PREFIX+"1",microwaveAttenuation.getTestValueOneDate()); - map.put(STA_PREFIX+DATE_PREFIX+"2",microwaveAttenuation.getTestValueTwoDate()); - map.put(STA_PREFIX+DATE_PREFIX+"3",microwaveAttenuation.getTestValueThreeDate()); - map.put(STA_PREFIX+DATE_PREFIX+"4",microwaveAttenuation.getTestValueFourDate()); - map.put(STA_PREFIX+DATE_PREFIX+"5",microwaveAttenuation.getTestValueFiveDate()); - map.put(STA_PREFIX+DATE_PREFIX+"6",microwaveAttenuation.getTestValueSixDate()); + map.put(STA_PREFIX + DATE_PREFIX + "1", microwaveAttenuation.getTestValueOneDate()); + map.put(STA_PREFIX + DATE_PREFIX + "2", microwaveAttenuation.getTestValueTwoDate()); + map.put(STA_PREFIX + DATE_PREFIX + "3", microwaveAttenuation.getTestValueThreeDate()); + map.put(STA_PREFIX + DATE_PREFIX + "4", microwaveAttenuation.getTestValueFourDate()); + map.put(STA_PREFIX + DATE_PREFIX + "5", microwaveAttenuation.getTestValueFiveDate()); + map.put(STA_PREFIX + DATE_PREFIX + "6", microwaveAttenuation.getTestValueSixDate()); } /** @@ -144,6 +144,7 @@ readyForCoverParams(map, request.getLabCode()); readyForMicrowaveParams(map, request.getMeasureDataMicrowaveAttenuationList()); replaceSlash(map); + List dataItems = checkParamAddRemoveItem(request, 3, map); List templateUrls = new ArrayList<>(); templateUrls.add(bizBusinessDeviceMeasureApprovalMapper.customTemplateUrl(MICROWAVE_ATTENUATION, "1", request.getItemCategoryName())); //与证书模板区分 @@ -152,7 +153,13 @@ map.put("pdfStatus", 1); log.debug("original before ----"); //除了选用的模板不一致,模板配置流程是一致的 - String originalWordUrlFile = printFileRegister.registerPrintFile(MICROWAVE_ATTENUATION, "原始记录打印", null, map, false, null, templateUrls); + String originalWordUrlFile = printFileRegister.registerPrintFile(MICROWAVE_ATTENUATION, "原始记录打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(templateUrls) + .build()); log.debug("originalUrlFile after------------{}", originalWordUrlFile); List urlList = new ArrayList<>(); if (StringUtils.isEmpty(originalWordUrlFile)) { @@ -169,6 +176,19 @@ } } + private List checkParamAddRemoveItem(BizBusinessDeviceMeasureApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int titleIndex = 1; + if (StringUtils.isBlank(request.getAppearanceRemark())) { + addDataRemoveItem(dataItems, -1, "外观及功能性检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataMicrowaveAttenuationList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataMicrowaveAttenuation::getDataType)); + checkRemoveItem(dataMap, "1", map, "firstSeq", titleIndex, dataItems, startIndex, "衰减"); + return dataItems; + } + private void readyForMicrowaveParams(Map map, List measureDataMicrowaveAttenuationList) throws Exception { List list = new ArrayList<>(); for (BizBusinessDeviceMeasureDataMicrowaveAttenuation microwaveAttenuation : measureDataMicrowaveAttenuationList) { @@ -200,6 +220,7 @@ String customUrl = readyForCoverParams(map, request.getLabCode()); readyForMicrowaveParams(map, request.getMeasureDataMicrowaveAttenuationList()); replaceSlash(map); + List dataItems = checkParamAddRemoveItem(request, 4, map); List customTemplateUrls = new ArrayList<>(); log.debug("--------get Certificate template is ...."); //查询对应封面模板和检定证书模板 @@ -212,7 +233,13 @@ List urlList = new ArrayList<>(); //除了选用的模板不一致,模板配置流程是一致的 log.debug("certificate before------------"); - String wordUrl = printFileRegister.registerPrintFile(MICROWAVE_ATTENUATION, "证书打印", null, map, false, null, customTemplateUrls); + String wordUrl = printFileRegister.registerPrintFile(MICROWAVE_ATTENUATION, "证书打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(customTemplateUrls) + .build()); if (StringUtils.isEmpty(wordUrl)) { return urlList; } diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/BizEquipmentStandardCheckRecordApprovalMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/BizEquipmentStandardCheckRecordApprovalMapper.xml index 5fd9c1b..dbaa721 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/BizEquipmentStandardCheckRecordApprovalMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/BizEquipmentStandardCheckRecordApprovalMapper.xml @@ -119,16 +119,21 @@ + - - - + + + + - + + + + @@ -140,9 +145,10 @@ SELECT - bescra.id, - bescra.record_no,bescra.record_name,besci.check_date,besci.check_address, besci.create_user_name,besi.standard_name AS standardEquipmentName, beit.equipment_name AS equipmentName, + bescra.id,bescra.data_id,bescra.record_no,bescra.record_name, + besci.check_date,besci.check_address, besci.create_user_name,besi.standard_name AS standardEquipmentName, beit.equipment_name AS equipmentName,besci.create_user_name AS checkUserName, beit.model AS equipmentModel,besci.data_no, beit.manufacture_no AS equipmentManufactureNo, + bescic.id AS itemCategoryId, bescic.category_name AS itemCategoryName, bescic.belong_standard_equipment, bei.id equipment_id, bei.equipment_name, bei.model, @@ -153,6 +159,7 @@ JOIN biz_equipment_info bei ON bescie.check_equipment_id = bei.id JOIN biz_equipment_standard_info besi ON besci.standard_equipment_id = besi.id JOIN biz_equipment_info beit ON besci.equipment_id = beit.id + LEFT JOIN biz_equipment_standard_check_item_category bescic ON bescic.id = besci.item_category_id WHERE 1=1 and besi.id in 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 bec26d0..f1d618c 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 @@ -97,7 +97,8 @@ numMap.put(3, 8); numMap.put(4, 8); numMap.put(5, 8); - + List dataItems = new ArrayList<>(); + int titleIndex = 1; for (int i = 0; i < pointList.size(); i++) { String points = pointList.get(i); //重复性 @@ -120,6 +121,10 @@ repMapList.add(powerMap); } map.put(REPEAT_PREFIX + (i + 1), repMapList); + }else { + //选择性删除 + addDataRemoveItem(dataItems, titleIndex++, ""); + continue; } //稳定性 List staList = request.getCheckDataDcPowerList() @@ -177,6 +182,9 @@ repMapList.add(powerMap); } map.put(REPEAT_PREFIX + 5, repMapList); + }else { + //选择性删除 + addDataRemoveItem(dataItems, titleIndex++, ""); } List staList = request.getCheckDataDcPowerList().stream() @@ -251,15 +259,9 @@ log.debug("校验没有原始记录"); return null; } - if (CollectionUtils.isEmpty(request.getMeasureDataDcPowerList())) { - List list = Collections.emptyList(); - request.setMeasureDataDcPowerList(list); - } DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); - readyForCoverParams(map, request.getLabCode()); - List dcPowerList = request.getMeasureDataDcPowerList(); List powerList = new ArrayList<>(); for (BizBusinessDeviceMeasureDataDcPower measureDataDcPower : dcPowerList) { @@ -269,7 +271,7 @@ } //组装原始记录打印参数 prepareParams(powerList, map); - + List dataItems = checkParamAddRomveItem(request, 3, map); replaceSlash(map); map.put("pdfStatus", 1); List templateUrls = new ArrayList<>(); @@ -279,7 +281,13 @@ map.put("id", snowflakeUtil.nextId()); log.debug("original before ----"); //除了选用的模板不一致,模板配置流程是一致的 - String originalWordUrlFile = printFileRegister.registerPrintFile(DC_POWER_SUPPLY, "原始记录打印", null, map, false, null, templateUrls); + String originalWordUrlFile = printFileRegister.registerPrintFile(DC_POWER_SUPPLY, "原始记录打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(templateUrls) + .build()); log.debug("originalUrlFile after------------{}", originalWordUrlFile); List urlList = new ArrayList<>(); if (StringUtils.isEmpty(originalWordUrlFile)) { @@ -350,11 +358,6 @@ @Override public List doCreateCertificateFile(BizBusinessDeviceMeasureApproval request) { try { - if (CollectionUtils.isEmpty(request.getMeasureDataDcPowerList())) { - List list = new ArrayList<>(); - list.add(new BizBusinessDeviceMeasureDataDcPower()); - request.setMeasureDataDcPowerList(list); - } DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); String customUrl = readyForCoverParams(map, request.getLabCode()); @@ -368,7 +371,7 @@ //准备填充参数 prepareCertificateParams(powerList, map); replaceSlash(map); - List dataItems = checkParamAddRomveItem(request, 3, map); + List dataItems = checkParamAddRomveItem(request, 4, map); List customTemplateUrls = new ArrayList<>(); log.debug("--------get Certificate template is ...."); //查询对应封面模板和检定证书模板 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ETwoWeightHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ETwoWeightHandler.java index 08fc352..5d23f16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ETwoWeightHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ETwoWeightHandler.java @@ -3,6 +3,8 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.casic.missiles.dto.certificate.RegisterCustomParameters; +import com.casic.missiles.dto.certificate.ToBeRemoveDataItem; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.PrintFileModuleNameEnum; import com.casic.missiles.enums.business.MeasureItemBelongStandardEquipmentDictEnum; @@ -28,10 +30,7 @@ import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -46,8 +45,6 @@ private final PrintFileRegister printFileRegister; - private final BizBusinessDeviceMeasureEquipmentMapper bizBusinessDeviceMeasureEquipmentMapper; - private final BizBusinessDeviceMeasureApprovalMapper bizBusinessDeviceMeasureApprovalMapper; private final BizEquipmentInfoMapper equipmentInfoMapper; @@ -198,7 +195,6 @@ deltajMap.put("fiveValue", e.getAverageValue()); deltajMap.put("sixValue", e.getAverageValue()); mapReplace(deltajMap); - ; return deltajMap; }).collect(Collectors.toList()); repList.add(deltajList.get(0)); @@ -268,12 +264,6 @@ log.debug("校验没有原始记录"); return null; } - if (CollectionUtils.isEmpty(request.getMeasureDataETwoList())) { - List list = new ArrayList<>(); - list.add(new BizBusinessDeviceMeasureDataETwo()); - request.setMeasureDataETwoList(list); - } - DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); map.put("actualDivisionValue", StringUtils.isNotBlank(request.getActualDivisionValue()) ? request.getActualDivisionValue() : "/"); @@ -282,6 +272,7 @@ prepareParams(map, request.getMeasureDataETwoList()); readyForCoverParams(map, request.getLabCode()); + List dataItems = checkParamAddRomveItem(request, 1, map); List templateUrls = new ArrayList<>(); templateUrls.add(bizBusinessDeviceMeasureApprovalMapper.customTemplateUrl(ETWO_WEIGHT, "1", request.getItemCategoryName())); //与证书模板区分 @@ -290,7 +281,13 @@ map.put("pdfStatus", 1); log.debug("original before ----"); //除了选用的模板不一致,模板配置流程是一致的 - String originalWordUrlFile = printFileRegister.registerPrintFile(ETWO_WEIGHT, "原始记录打印", null, map, false, null, templateUrls); + String originalWordUrlFile = printFileRegister.registerPrintFile(ETWO_WEIGHT, "原始记录打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(templateUrls) + .build()); log.debug("originalUrlFile after------------{}", originalWordUrlFile); List urlList = new ArrayList<>(); if (StringUtils.isEmpty(originalWordUrlFile)) { @@ -307,6 +304,33 @@ } } + private List checkParamAddRomveItem(BizBusinessDeviceMeasureApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + List list = Arrays.asList("一", "二", "三", "四"); + if (StringUtils.isBlank(request.getAppearance())) { + addDataRemoveItem(dataItems, startIndex++, ""); + } else { + map.put("zeroSeq", list.get(0) + "、"); + } + Map> dataMap = request.getMeasureDataETwoList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataETwo::getDataType)); + if (!dataMap.containsKey("1")) { + addDataRemoveItem(dataItems, startIndex++, ""); + } else { + map.put("firstSeq", list.get(1) + "、"); + } + if (!dataMap.containsKey("2")) { + addDataRemoveItem(dataItems, startIndex++, "偏载误差(秤量盘形式"); + } else { + map.put("secondSeq", list.get(2) + "、"); + } + if (!dataMap.containsKey("3")) { + addDataRemoveItem(dataItems, startIndex++, "局部示值误差"); + } else { + map.put("thirdSeq", list.get(3) + "、"); + } + return dataItems; + } + /** * 原始记录填充参数 * @@ -321,7 +345,6 @@ .filter(e -> "1".equals(e.getDataType()) && REPEATABILITY.equals(e.getParams()) && StringUtils.isNotBlank(e.getPtOne())) .collect(Collectors.toList()); - getEquipment(equipmentList, repPtOneList); List repPtTwoList = eTwoList.stream() @@ -383,7 +406,6 @@ List errorPtTwoList = eTwoList.stream().filter(e -> "3".equals(e.getDataType()) && LOCAL_INDICATION_ERROR.equals(e.getParams()) && StringUtils.isNotBlank(e.getPtTwo())).collect(Collectors.toList()); getEquipment(equipmentList, errorPtTwoList); - List> errorOneMapList = errorPtOneList.stream().map(e -> { Map objectMap = BeanUtil.beanToMap(e); mapReplace(objectMap); @@ -410,7 +432,6 @@ } private void getEquipment(List> equipmentList, List list) throws Exception { - Long aEquipmentId = list.get(0).getAEquipmentId(); Long bEquipmentId = list.get(0).getBEquipmentId(); if (aEquipmentId != null && bEquipmentId != null) { @@ -491,10 +512,17 @@ SnowflakeUtil snowflakeUtil = new SnowflakeUtil(); map.put("id", snowflakeUtil.nextId()); map.put("pdfStatus", 1); + List dataItems = checkParamAddReomveItem(request, 4, map); List urlList = new ArrayList<>(); //除了选用的模板不一致,模板配置流程是一致的 log.debug("certificate before------------"); - String wordUrl = printFileRegister.registerPrintFile(ETWO_WEIGHT, "证书打印", null, map, false, null, customTemplateUrls); + String wordUrl = printFileRegister.registerPrintFile(ETWO_WEIGHT, "证书打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(customTemplateUrls) + .build()); if (StringUtils.isEmpty(wordUrl)) { return urlList; } @@ -510,6 +538,21 @@ } } + private List checkParamAddReomveItem(BizBusinessDeviceMeasureApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int titleIndex = 1; + if (StringUtils.isBlank(request.getAppearance())) { + addDataRemoveItem(dataItems, -1, "外观"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataETwoList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataETwo::getDataType)); + titleIndex = checkRemoveItem(dataMap, "1", map, "firstSeq", titleIndex, dataItems, startIndex + 1, "重复性"); + titleIndex = checkRemoveItem(dataMap, "2", map, "secondSeq", titleIndex, dataItems, startIndex + 2, "偏载误差"); + checkRemoveItem(dataMap, "3", map, "thirdSeq", titleIndex, dataItems, startIndex + 3, "局部示值误差"); + return dataItems; + } + private void prepareCertificateParams(Map map, List eTwoList) { //重复性PtOne List repPtOneList = eTwoList.stream().filter(e -> "1".equals(e.getDataType()) && REPEATABILITY.equals(e.getParams()) && StringUtils.isNotBlank(e.getPtOne())).collect(Collectors.toList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MicrowaveHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MicrowaveHandler.java index 77c877c..0ef5431 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MicrowaveHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MicrowaveHandler.java @@ -2,13 +2,14 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; +import com.casic.missiles.dto.certificate.RegisterCustomParameters; +import com.casic.missiles.dto.certificate.ToBeRemoveDataItem; 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.model.business.BizBusinessDeviceMeasureApproval; -import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataCesiumAtom; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataMicrowaveAttenuation; import com.casic.missiles.model.equipment.BizEquipmentInfo; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataMicrowaveAttenuation; @@ -23,7 +24,6 @@ import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; -import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.List; @@ -103,7 +103,7 @@ att.setTestValueTen(StringUtils.isNotBlank(att.getTestValueTen()) ? att.getTestValueTen() + att.getAttenuationAmountUnit() : att.getTestValueTen()); att.setAverageValue(StringUtils.isNotBlank(att.getAverageValue()) ? att.getAverageValue() + att.getAttenuationAmountUnit() : att.getAverageValue()); }).collect(Collectors.toList()); - map.put("repList",repList); + map.put("repList", repList); List staList = attenuationList.stream().filter(att -> STABILITY.equals(att.getCheckType())) .peek(att -> { att.setFrequency(StringUtils.isNotBlank(att.getFrequency()) ? att.getFrequency() + att.getFrequencyUnit() : att.getFrequency()); @@ -117,15 +117,15 @@ att.setAverageValue(StringUtils.isNotBlank(att.getAverageValue()) ? att.getAverageValue() + att.getAttenuationAmountUnit() : att.getAverageValue()); att.setLessThanValue(att.getLessThan() != null && att.getLessThan() == 1 ? "合格" : "不合格"); }).collect(Collectors.toList()); - map.put("staList",staList); + map.put("staList", staList); BizEquipmentStandardCheckDataMicrowaveAttenuation microwaveAttenuation = staList.get(0); - map.put(STA_PREFIX+DATE_PREFIX+"1",microwaveAttenuation.getTestValueOneDate()); - map.put(STA_PREFIX+DATE_PREFIX+"2",microwaveAttenuation.getTestValueTwoDate()); - map.put(STA_PREFIX+DATE_PREFIX+"3",microwaveAttenuation.getTestValueThreeDate()); - map.put(STA_PREFIX+DATE_PREFIX+"4",microwaveAttenuation.getTestValueFourDate()); - map.put(STA_PREFIX+DATE_PREFIX+"5",microwaveAttenuation.getTestValueFiveDate()); - map.put(STA_PREFIX+DATE_PREFIX+"6",microwaveAttenuation.getTestValueSixDate()); + map.put(STA_PREFIX + DATE_PREFIX + "1", microwaveAttenuation.getTestValueOneDate()); + map.put(STA_PREFIX + DATE_PREFIX + "2", microwaveAttenuation.getTestValueTwoDate()); + map.put(STA_PREFIX + DATE_PREFIX + "3", microwaveAttenuation.getTestValueThreeDate()); + map.put(STA_PREFIX + DATE_PREFIX + "4", microwaveAttenuation.getTestValueFourDate()); + map.put(STA_PREFIX + DATE_PREFIX + "5", microwaveAttenuation.getTestValueFiveDate()); + map.put(STA_PREFIX + DATE_PREFIX + "6", microwaveAttenuation.getTestValueSixDate()); } /** @@ -144,6 +144,7 @@ readyForCoverParams(map, request.getLabCode()); readyForMicrowaveParams(map, request.getMeasureDataMicrowaveAttenuationList()); replaceSlash(map); + List dataItems = checkParamAddRemoveItem(request, 3, map); List templateUrls = new ArrayList<>(); templateUrls.add(bizBusinessDeviceMeasureApprovalMapper.customTemplateUrl(MICROWAVE_ATTENUATION, "1", request.getItemCategoryName())); //与证书模板区分 @@ -152,7 +153,13 @@ map.put("pdfStatus", 1); log.debug("original before ----"); //除了选用的模板不一致,模板配置流程是一致的 - String originalWordUrlFile = printFileRegister.registerPrintFile(MICROWAVE_ATTENUATION, "原始记录打印", null, map, false, null, templateUrls); + String originalWordUrlFile = printFileRegister.registerPrintFile(MICROWAVE_ATTENUATION, "原始记录打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(templateUrls) + .build()); log.debug("originalUrlFile after------------{}", originalWordUrlFile); List urlList = new ArrayList<>(); if (StringUtils.isEmpty(originalWordUrlFile)) { @@ -169,6 +176,19 @@ } } + private List checkParamAddRemoveItem(BizBusinessDeviceMeasureApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int titleIndex = 1; + if (StringUtils.isBlank(request.getAppearanceRemark())) { + addDataRemoveItem(dataItems, -1, "外观及功能性检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataMicrowaveAttenuationList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataMicrowaveAttenuation::getDataType)); + checkRemoveItem(dataMap, "1", map, "firstSeq", titleIndex, dataItems, startIndex, "衰减"); + return dataItems; + } + private void readyForMicrowaveParams(Map map, List measureDataMicrowaveAttenuationList) throws Exception { List list = new ArrayList<>(); for (BizBusinessDeviceMeasureDataMicrowaveAttenuation microwaveAttenuation : measureDataMicrowaveAttenuationList) { @@ -200,6 +220,7 @@ String customUrl = readyForCoverParams(map, request.getLabCode()); readyForMicrowaveParams(map, request.getMeasureDataMicrowaveAttenuationList()); replaceSlash(map); + List dataItems = checkParamAddRemoveItem(request, 4, map); List customTemplateUrls = new ArrayList<>(); log.debug("--------get Certificate template is ...."); //查询对应封面模板和检定证书模板 @@ -212,7 +233,13 @@ List urlList = new ArrayList<>(); //除了选用的模板不一致,模板配置流程是一致的 log.debug("certificate before------------"); - String wordUrl = printFileRegister.registerPrintFile(MICROWAVE_ATTENUATION, "证书打印", null, map, false, null, customTemplateUrls); + String wordUrl = printFileRegister.registerPrintFile(MICROWAVE_ATTENUATION, "证书打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(customTemplateUrls) + .build()); if (StringUtils.isEmpty(wordUrl)) { return urlList; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ResistanceThermometerHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ResistanceThermometerHandler.java index ca10021..6e69db8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ResistanceThermometerHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ResistanceThermometerHandler.java @@ -2,12 +2,15 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; +import com.casic.missiles.dto.certificate.RegisterCustomParameters; +import com.casic.missiles.dto.certificate.ToBeRemoveDataItem; 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.model.business.*; +import com.casic.missiles.model.business.BizBusinessDeviceMeasureApproval; +import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataResistanceThermometer; import com.casic.missiles.model.equipment.BizEquipmentInfo; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataResistanceThermometer; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckRecordApproval; @@ -99,8 +102,13 @@ BizEquipmentStandardCheckDataResistanceThermometer::getCheckPoint, () -> new TreeMap<>(getComparator()), Collectors.toList())); - - Map lowerRepMap = BeanUtil.beanToMap(repTreeMap.get(repTreeMap.firstKey()).get(0)); + List dataItems = new ArrayList<>(); + int titleIndex = 1; + List thermometers = repTreeMap.get(repTreeMap.firstKey()); + if (CollectionUtils.isEmpty(thermometers)) { + addDataRemoveItem(dataItems, titleIndex++, ""); + } + Map lowerRepMap = BeanUtil.beanToMap(thermometers.get(0)); mapReplace(lowerRepMap); map.put("lowerRep", lowerRepMap); Map upperRepMap = BeanUtil.beanToMap(repTreeMap.get(repTreeMap.lastKey()).get(0)); @@ -138,6 +146,9 @@ List rtpRepList = thermometerList.stream() .filter(t -> RTP.equals(t.getParams()) && REPEATABILITY.equals(t.getCheckType())) .collect(Collectors.toList()); + if (CollectionUtils.isEmpty(rtpRepList)) { + addDataRemoveItem(dataItems, titleIndex++, ""); + } Map rtpRepMap = BeanUtil.beanToMap(rtpRepList.get(0)); mapReplace(rtpRepMap); map.put("RTPRep", rtpRepMap); @@ -150,15 +161,13 @@ map.put("RTPSta", rtpStaMap); //绝缘电阻表校准 - List> resistanceList = thermometerList.stream() + List list = thermometerList.stream() .filter(t -> INSULATION_RESISTANCE_METER_CALIBRATION.equals(t.getParams())) - .map(t -> { - Map objectMap = BeanUtil.beanToMap(t); - mapReplace(objectMap); - return objectMap; - }) .collect(Collectors.toList()); - map.put("resistanceList", resistanceList); + if (CollectionUtils.isEmpty(list)){ + addDataRemoveItem(dataItems, titleIndex++, ""); + } + map.put("resistanceList", list); } private Comparator getComparator() { @@ -183,21 +192,14 @@ log.debug("校验没有原始记录"); return null; } - if (CollectionUtils.isEmpty(request.getMeasureDataResistanceThermometerList())) { - List list = Collections.emptyList(); - request.setMeasureDataResistanceThermometerList(list); - } DictCodeUtils.convertDictCodeToName(request); - if (StringUtils.isNotBlank(request.getAngleAdjustError())){ + if (StringUtils.isNotBlank(request.getAngleAdjustError())) { request.setAngleAdjustError("0".equals(request.getAngleAdjustError()) ? "可用" : "不可用"); } Map map = BeanUtil.beanToMap(request); mapReplace(map); - readyForCoverParams(map, request.getLabCode()); - List resistanceThermometerList = request.getMeasureDataResistanceThermometerList(); - switch (request.getItemCategoryName()) { case THERMAL_RESISTANCE: //工业铂铜热电阻 @@ -217,7 +219,7 @@ default: break; } - + List dataItems = checkOriginalParamAddRemoveItem(request, 3, map); List templateUrls = new ArrayList<>(); templateUrls.add(bizBusinessDeviceMeasureApprovalMapper.customTemplateUrl(RESISTANCE_THERMOMETER, "1", request.getItemCategoryName())); //与证书模板区分 @@ -226,7 +228,13 @@ map.put("pdfStatus", 1); log.debug("original before ----"); //除了选用的模板不一致,模板配置流程是一致的 - String originalUrlFile = printFileRegister.registerPrintFile(MEASURE_DATA, "原始记录打印", null, map, false, null, templateUrls); + String originalUrlFile = printFileRegister.registerPrintFile(MEASURE_DATA, "原始记录打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(templateUrls) + .build()); log.debug("originalUrlFile after------------{}", originalUrlFile); List urlList = new ArrayList<>(); if (StringUtils.isEmpty(originalUrlFile)) { @@ -243,6 +251,56 @@ } } + private List checkOriginalParamAddRemoveItem(BizBusinessDeviceMeasureApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int titleIndex = 1; + if ("工业铂铜热电阻".equals(request.getItemCategoryName())) { + if (StringUtils.isBlank(request.getAppearance())) { + addDataRemoveItem(dataItems, -1, "外观检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + if (StringUtils.isBlank(request.getInsulationResistanceValue())) { + addDataRemoveItem(dataItems, -1, "绝缘电阻"); + } else { + map.put("firstSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataResistanceThermometerList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataResistanceThermometer::getDataCategory)); + checkRemoveItem(dataMap, "1", map, "secondSeq", titleIndex, dataItems, startIndex + 1, "检定点"); + } + if ("恒温槽".equals(request.getItemCategoryName())) { + if (StringUtils.isBlank(request.getAppearance())) { + addDataRemoveItem(dataItems, -1, "外观及功能性检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataResistanceThermometerList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataResistanceThermometer::getDataType)); + checkRemoveItem(dataMap, "1", map, "firstSeq", titleIndex, dataItems, startIndex + 1, "检测项目"); + if (CollectionUtils.isEmpty(dataMap.get("1"))) { + addDataRemoveItem(dataItems, titleIndex++, ""); + } + if (CollectionUtils.isEmpty(dataMap.get("2"))) { + addDataRemoveItem(dataItems, titleIndex++, ""); + addDataRemoveItem(dataItems, titleIndex++, ""); + } + } + if ("双金属温度计".equals(request.getItemCategoryName())) { + if (StringUtils.isBlank(request.getAppearance())) { + addDataRemoveItem(dataItems, -1, "外观及功能性检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + if (StringUtils.isBlank(request.getAngleAdjustError())) { + addDataRemoveItem(dataItems, -1, "角度调整误差"); + } else { + map.put("firstSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataResistanceThermometerList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataResistanceThermometer::getDataType)); + checkRemoveItem(dataMap, "1", map, "secondSeq", titleIndex, dataItems, startIndex + 1, "检定点"); + } + return dataItems; + } + /** * 双金属温度计模板参数 * @@ -445,6 +503,7 @@ default: break; } + List dataItems = checkParamAddRemoveItem(request, 4, map); List customTemplateUrls = new ArrayList<>(); log.debug("--------get Certificate template is ...."); //查询对应封面模板和检定证书模板 @@ -457,7 +516,13 @@ List urlList = new ArrayList<>(); //除了选用的模板不一致,模板配置流程是一致的 log.debug("certificate before------------"); - String wordUrl = printFileRegister.registerPrintFile(request.getItemCategoryName(), "证书打印", null, map, false, null, customTemplateUrls); + String wordUrl = printFileRegister.registerPrintFile(request.getItemCategoryName(), "证书打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(customTemplateUrls) + .build()); if (StringUtils.isEmpty(wordUrl)) { return urlList; } @@ -473,6 +538,44 @@ } } + private List checkParamAddRemoveItem(BizBusinessDeviceMeasureApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int titleIndex = 1; + if ("工业铂铜热电阻".equals(request.getItemCategoryName())) { + if (StringUtils.isBlank(request.getAppearance())) { + addDataRemoveItem(dataItems, -1, "外观检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + if (StringUtils.isBlank(request.getInsulationResistanceValue())) { + addDataRemoveItem(dataItems, -1, "绝缘电阻"); + } else { + map.put("firstSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataResistanceThermometerList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataResistanceThermometer::getDataCategory)); + checkRemoveItem(dataMap, "2", map, "secondSeq", titleIndex, dataItems, startIndex + 1, "其他参数检定结果"); + } + if ("恒温槽".equals(request.getItemCategoryName())) { + if (StringUtils.isBlank(request.getAppearance())) { + addDataRemoveItem(dataItems, -1, "外观及功能性检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataResistanceThermometerList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataResistanceThermometer::getDataType)); + checkRemoveItem(dataMap, "1", map, "firstSeq", titleIndex, dataItems, startIndex + 1, "波动性和均匀性"); + } + if ("双金属温度计".equals(request.getItemCategoryName())) { + if (StringUtils.isBlank(request.getAppearance())) { + addDataRemoveItem(dataItems, -1, "外观检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataResistanceThermometerList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataResistanceThermometer::getDataType)); + checkRemoveItem(dataMap, "1", map, "firstSeq", titleIndex, dataItems, startIndex + 1, "最大示值误差与回差"); + } + return dataItems; + } + /** * 双金属温度计检定证书参数 * 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 index 7d6ec7b..950aa08 100644 --- 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 @@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.casic.missiles.dto.business.deviceMeasure.MeasureEquipmentInfoDTO; +import com.casic.missiles.dto.certificate.RegisterCustomParameters; +import com.casic.missiles.dto.certificate.ToBeRemoveDataItem; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.PrintFileModuleNameEnum; import com.casic.missiles.enums.business.MeasureItemBelongStandardEquipmentDictEnum; @@ -13,6 +15,7 @@ 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.BizBusinessDeviceMeasureDataResistanceThermometer; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataSafetyValue; import com.casic.missiles.model.business.BizBusinessDeviceMeasureInfo; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckRecordApproval; @@ -26,6 +29,7 @@ import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.HashMap; @@ -62,14 +66,15 @@ DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); List safetyValveList = request.getMeasureDataSafetyValueList(); - readyForCoverParams(map,request.getLabCode()); - List list = new ArrayList<>(); + readyForCoverParams(map, request.getLabCode()); + List list = new ArrayList<>(); for (BizBusinessDeviceMeasureDataSafetyValue safetyValue : safetyValveList) { BizBusinessDeviceMeasureDataSafetyValue value = (BizBusinessDeviceMeasureDataSafetyValue) BeanUtils.cloneBean(safetyValue); value.applyStrategyBasedOnDataType(); list.add(value); } assblemParams(list, map); + List dataItems = checkOriginalParamAddRemoveItem(request, 3, map); List templateUrls = new ArrayList<>(); templateUrls.add(bizBusinessDeviceMeasureApprovalMapper.customTemplateUrl(SAFETY_VALVE, "1", request.getItemCategoryName())); //与证书模板区分 @@ -78,7 +83,13 @@ map.put("pdfStatus", 1); log.debug("original before ----"); //除了选用的模板不一致,模板配置流程是一致的 - String originalWordUrlFile = printFileRegister.registerPrintFile(SAFETY_VALVE, "原始记录打印", null, map, false, null, templateUrls); + String originalWordUrlFile = printFileRegister.registerPrintFile(SAFETY_VALVE, "原始记录打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(templateUrls) + .build()); log.debug("originalUrlFile after------------{}", originalWordUrlFile); List urlList = new ArrayList<>(); if (StringUtils.isEmpty(originalWordUrlFile)) { @@ -96,6 +107,21 @@ } + private List checkOriginalParamAddRemoveItem(BizBusinessDeviceMeasureApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int titleIndex = 1; + if (StringUtils.isBlank(request.getAppearanceFunctionCheck())) { + addDataRemoveItem(dataItems, titleIndex++, ""); + } + if (StringUtils.isBlank(request.getSealingTest())) { + addDataRemoveItem(dataItems, titleIndex++, ""); + } + if (CollectionUtils.isEmpty(request.getMeasureDataSafetyValueList())) { + addDataRemoveItem(dataItems, titleIndex++, ""); + } + return dataItems; + } + private void assblemParams(List safetyValveList, Map map) { List> list = new ArrayList<>(); for (BizBusinessDeviceMeasureDataSafetyValue safetyValue : safetyValveList) { @@ -129,14 +155,14 @@ Map map = BeanUtil.beanToMap(request); String customUrl = readyForCoverParams(map, request.getLabCode()); List safetyValveList = request.getMeasureDataSafetyValueList(); - List list = new ArrayList<>(); + List list = new ArrayList<>(); for (BizBusinessDeviceMeasureDataSafetyValue safetyValue : safetyValveList) { BizBusinessDeviceMeasureDataSafetyValue value = (BizBusinessDeviceMeasureDataSafetyValue) BeanUtils.cloneBean(safetyValue); value.applyStrategyBasedOnDataType(); list.add(value); } assblemParams(list, map); - readyForCoverParams(map, request.getLabCode()); + List dataItems = checkParamAddRemoveItem(request, 4, map); List customTemplateUrls = new ArrayList<>(); log.debug("--------get Certificate template is ...."); //查询对应封面模板和检定证书模板 @@ -149,7 +175,13 @@ List urlList = new ArrayList<>(); //除了选用的模板不一致,模板配置流程是一致的 log.debug("certificate before------------"); - String wordUrl = printFileRegister.registerPrintFile(SAFETY_VALVE, "证书打印", null, map, false, null, customTemplateUrls); + String wordUrl = printFileRegister.registerPrintFile(SAFETY_VALVE, "证书打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(customTemplateUrls) + .build()); if (StringUtils.isEmpty(wordUrl)) { return urlList; } @@ -164,4 +196,22 @@ throw new BusinessException(BusinessExceptionEnum.MEASURE_APPROVAL_UPDATE_FAILED); } } + + private List checkParamAddRemoveItem(BizBusinessDeviceMeasureApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int titleIndex = 1; + if (StringUtils.isBlank(request.getAppearanceFunctionCheck())) { + addDataRemoveItem(dataItems, -1, "外观检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + if (StringUtils.isBlank(request.getSealingTest())) { + addDataRemoveItem(dataItems, -1, "密封试验"); + } else { + map.put("firstSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataResistanceThermometerList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataResistanceThermometer::getDataCategory)); + checkRemoveItem(dataMap, "1", map, "secondSeq", titleIndex, dataItems, startIndex + 1, "整定压力/MPa"); + return dataItems; + } } diff --git a/casic-metering-dao/src/main/resources/mapper/equipment/BizEquipmentStandardCheckRecordApprovalMapper.xml b/casic-metering-dao/src/main/resources/mapper/equipment/BizEquipmentStandardCheckRecordApprovalMapper.xml index 5fd9c1b..dbaa721 100644 --- a/casic-metering-dao/src/main/resources/mapper/equipment/BizEquipmentStandardCheckRecordApprovalMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/equipment/BizEquipmentStandardCheckRecordApprovalMapper.xml @@ -119,16 +119,21 @@ + - - - + + + + - + + + + @@ -140,9 +145,10 @@ SELECT - bescra.id, - bescra.record_no,bescra.record_name,besci.check_date,besci.check_address, besci.create_user_name,besi.standard_name AS standardEquipmentName, beit.equipment_name AS equipmentName, + bescra.id,bescra.data_id,bescra.record_no,bescra.record_name, + besci.check_date,besci.check_address, besci.create_user_name,besi.standard_name AS standardEquipmentName, beit.equipment_name AS equipmentName,besci.create_user_name AS checkUserName, beit.model AS equipmentModel,besci.data_no, beit.manufacture_no AS equipmentManufactureNo, + bescic.id AS itemCategoryId, bescic.category_name AS itemCategoryName, bescic.belong_standard_equipment, bei.id equipment_id, bei.equipment_name, bei.model, @@ -153,6 +159,7 @@ JOIN biz_equipment_info bei ON bescie.check_equipment_id = bei.id JOIN biz_equipment_standard_info besi ON besci.standard_equipment_id = besi.id JOIN biz_equipment_info beit ON besci.equipment_id = beit.id + LEFT JOIN biz_equipment_standard_check_item_category bescic ON bescic.id = besci.item_category_id WHERE 1=1 and besi.id in 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 bec26d0..f1d618c 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 @@ -97,7 +97,8 @@ numMap.put(3, 8); numMap.put(4, 8); numMap.put(5, 8); - + List dataItems = new ArrayList<>(); + int titleIndex = 1; for (int i = 0; i < pointList.size(); i++) { String points = pointList.get(i); //重复性 @@ -120,6 +121,10 @@ repMapList.add(powerMap); } map.put(REPEAT_PREFIX + (i + 1), repMapList); + }else { + //选择性删除 + addDataRemoveItem(dataItems, titleIndex++, ""); + continue; } //稳定性 List staList = request.getCheckDataDcPowerList() @@ -177,6 +182,9 @@ repMapList.add(powerMap); } map.put(REPEAT_PREFIX + 5, repMapList); + }else { + //选择性删除 + addDataRemoveItem(dataItems, titleIndex++, ""); } List staList = request.getCheckDataDcPowerList().stream() @@ -251,15 +259,9 @@ log.debug("校验没有原始记录"); return null; } - if (CollectionUtils.isEmpty(request.getMeasureDataDcPowerList())) { - List list = Collections.emptyList(); - request.setMeasureDataDcPowerList(list); - } DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); - readyForCoverParams(map, request.getLabCode()); - List dcPowerList = request.getMeasureDataDcPowerList(); List powerList = new ArrayList<>(); for (BizBusinessDeviceMeasureDataDcPower measureDataDcPower : dcPowerList) { @@ -269,7 +271,7 @@ } //组装原始记录打印参数 prepareParams(powerList, map); - + List dataItems = checkParamAddRomveItem(request, 3, map); replaceSlash(map); map.put("pdfStatus", 1); List templateUrls = new ArrayList<>(); @@ -279,7 +281,13 @@ map.put("id", snowflakeUtil.nextId()); log.debug("original before ----"); //除了选用的模板不一致,模板配置流程是一致的 - String originalWordUrlFile = printFileRegister.registerPrintFile(DC_POWER_SUPPLY, "原始记录打印", null, map, false, null, templateUrls); + String originalWordUrlFile = printFileRegister.registerPrintFile(DC_POWER_SUPPLY, "原始记录打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(templateUrls) + .build()); log.debug("originalUrlFile after------------{}", originalWordUrlFile); List urlList = new ArrayList<>(); if (StringUtils.isEmpty(originalWordUrlFile)) { @@ -350,11 +358,6 @@ @Override public List doCreateCertificateFile(BizBusinessDeviceMeasureApproval request) { try { - if (CollectionUtils.isEmpty(request.getMeasureDataDcPowerList())) { - List list = new ArrayList<>(); - list.add(new BizBusinessDeviceMeasureDataDcPower()); - request.setMeasureDataDcPowerList(list); - } DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); String customUrl = readyForCoverParams(map, request.getLabCode()); @@ -368,7 +371,7 @@ //准备填充参数 prepareCertificateParams(powerList, map); replaceSlash(map); - List dataItems = checkParamAddRomveItem(request, 3, map); + List dataItems = checkParamAddRomveItem(request, 4, map); List customTemplateUrls = new ArrayList<>(); log.debug("--------get Certificate template is ...."); //查询对应封面模板和检定证书模板 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ETwoWeightHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ETwoWeightHandler.java index 08fc352..5d23f16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ETwoWeightHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ETwoWeightHandler.java @@ -3,6 +3,8 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.casic.missiles.dto.certificate.RegisterCustomParameters; +import com.casic.missiles.dto.certificate.ToBeRemoveDataItem; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.PrintFileModuleNameEnum; import com.casic.missiles.enums.business.MeasureItemBelongStandardEquipmentDictEnum; @@ -28,10 +30,7 @@ import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -46,8 +45,6 @@ private final PrintFileRegister printFileRegister; - private final BizBusinessDeviceMeasureEquipmentMapper bizBusinessDeviceMeasureEquipmentMapper; - private final BizBusinessDeviceMeasureApprovalMapper bizBusinessDeviceMeasureApprovalMapper; private final BizEquipmentInfoMapper equipmentInfoMapper; @@ -198,7 +195,6 @@ deltajMap.put("fiveValue", e.getAverageValue()); deltajMap.put("sixValue", e.getAverageValue()); mapReplace(deltajMap); - ; return deltajMap; }).collect(Collectors.toList()); repList.add(deltajList.get(0)); @@ -268,12 +264,6 @@ log.debug("校验没有原始记录"); return null; } - if (CollectionUtils.isEmpty(request.getMeasureDataETwoList())) { - List list = new ArrayList<>(); - list.add(new BizBusinessDeviceMeasureDataETwo()); - request.setMeasureDataETwoList(list); - } - DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); map.put("actualDivisionValue", StringUtils.isNotBlank(request.getActualDivisionValue()) ? request.getActualDivisionValue() : "/"); @@ -282,6 +272,7 @@ prepareParams(map, request.getMeasureDataETwoList()); readyForCoverParams(map, request.getLabCode()); + List dataItems = checkParamAddRomveItem(request, 1, map); List templateUrls = new ArrayList<>(); templateUrls.add(bizBusinessDeviceMeasureApprovalMapper.customTemplateUrl(ETWO_WEIGHT, "1", request.getItemCategoryName())); //与证书模板区分 @@ -290,7 +281,13 @@ map.put("pdfStatus", 1); log.debug("original before ----"); //除了选用的模板不一致,模板配置流程是一致的 - String originalWordUrlFile = printFileRegister.registerPrintFile(ETWO_WEIGHT, "原始记录打印", null, map, false, null, templateUrls); + String originalWordUrlFile = printFileRegister.registerPrintFile(ETWO_WEIGHT, "原始记录打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(templateUrls) + .build()); log.debug("originalUrlFile after------------{}", originalWordUrlFile); List urlList = new ArrayList<>(); if (StringUtils.isEmpty(originalWordUrlFile)) { @@ -307,6 +304,33 @@ } } + private List checkParamAddRomveItem(BizBusinessDeviceMeasureApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + List list = Arrays.asList("一", "二", "三", "四"); + if (StringUtils.isBlank(request.getAppearance())) { + addDataRemoveItem(dataItems, startIndex++, ""); + } else { + map.put("zeroSeq", list.get(0) + "、"); + } + Map> dataMap = request.getMeasureDataETwoList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataETwo::getDataType)); + if (!dataMap.containsKey("1")) { + addDataRemoveItem(dataItems, startIndex++, ""); + } else { + map.put("firstSeq", list.get(1) + "、"); + } + if (!dataMap.containsKey("2")) { + addDataRemoveItem(dataItems, startIndex++, "偏载误差(秤量盘形式"); + } else { + map.put("secondSeq", list.get(2) + "、"); + } + if (!dataMap.containsKey("3")) { + addDataRemoveItem(dataItems, startIndex++, "局部示值误差"); + } else { + map.put("thirdSeq", list.get(3) + "、"); + } + return dataItems; + } + /** * 原始记录填充参数 * @@ -321,7 +345,6 @@ .filter(e -> "1".equals(e.getDataType()) && REPEATABILITY.equals(e.getParams()) && StringUtils.isNotBlank(e.getPtOne())) .collect(Collectors.toList()); - getEquipment(equipmentList, repPtOneList); List repPtTwoList = eTwoList.stream() @@ -383,7 +406,6 @@ List errorPtTwoList = eTwoList.stream().filter(e -> "3".equals(e.getDataType()) && LOCAL_INDICATION_ERROR.equals(e.getParams()) && StringUtils.isNotBlank(e.getPtTwo())).collect(Collectors.toList()); getEquipment(equipmentList, errorPtTwoList); - List> errorOneMapList = errorPtOneList.stream().map(e -> { Map objectMap = BeanUtil.beanToMap(e); mapReplace(objectMap); @@ -410,7 +432,6 @@ } private void getEquipment(List> equipmentList, List list) throws Exception { - Long aEquipmentId = list.get(0).getAEquipmentId(); Long bEquipmentId = list.get(0).getBEquipmentId(); if (aEquipmentId != null && bEquipmentId != null) { @@ -491,10 +512,17 @@ SnowflakeUtil snowflakeUtil = new SnowflakeUtil(); map.put("id", snowflakeUtil.nextId()); map.put("pdfStatus", 1); + List dataItems = checkParamAddReomveItem(request, 4, map); List urlList = new ArrayList<>(); //除了选用的模板不一致,模板配置流程是一致的 log.debug("certificate before------------"); - String wordUrl = printFileRegister.registerPrintFile(ETWO_WEIGHT, "证书打印", null, map, false, null, customTemplateUrls); + String wordUrl = printFileRegister.registerPrintFile(ETWO_WEIGHT, "证书打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(customTemplateUrls) + .build()); if (StringUtils.isEmpty(wordUrl)) { return urlList; } @@ -510,6 +538,21 @@ } } + private List checkParamAddReomveItem(BizBusinessDeviceMeasureApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int titleIndex = 1; + if (StringUtils.isBlank(request.getAppearance())) { + addDataRemoveItem(dataItems, -1, "外观"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataETwoList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataETwo::getDataType)); + titleIndex = checkRemoveItem(dataMap, "1", map, "firstSeq", titleIndex, dataItems, startIndex + 1, "重复性"); + titleIndex = checkRemoveItem(dataMap, "2", map, "secondSeq", titleIndex, dataItems, startIndex + 2, "偏载误差"); + checkRemoveItem(dataMap, "3", map, "thirdSeq", titleIndex, dataItems, startIndex + 3, "局部示值误差"); + return dataItems; + } + private void prepareCertificateParams(Map map, List eTwoList) { //重复性PtOne List repPtOneList = eTwoList.stream().filter(e -> "1".equals(e.getDataType()) && REPEATABILITY.equals(e.getParams()) && StringUtils.isNotBlank(e.getPtOne())).collect(Collectors.toList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MicrowaveHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MicrowaveHandler.java index 77c877c..0ef5431 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MicrowaveHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MicrowaveHandler.java @@ -2,13 +2,14 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; +import com.casic.missiles.dto.certificate.RegisterCustomParameters; +import com.casic.missiles.dto.certificate.ToBeRemoveDataItem; 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.model.business.BizBusinessDeviceMeasureApproval; -import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataCesiumAtom; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataMicrowaveAttenuation; import com.casic.missiles.model.equipment.BizEquipmentInfo; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataMicrowaveAttenuation; @@ -23,7 +24,6 @@ import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; -import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.List; @@ -103,7 +103,7 @@ att.setTestValueTen(StringUtils.isNotBlank(att.getTestValueTen()) ? att.getTestValueTen() + att.getAttenuationAmountUnit() : att.getTestValueTen()); att.setAverageValue(StringUtils.isNotBlank(att.getAverageValue()) ? att.getAverageValue() + att.getAttenuationAmountUnit() : att.getAverageValue()); }).collect(Collectors.toList()); - map.put("repList",repList); + map.put("repList", repList); List staList = attenuationList.stream().filter(att -> STABILITY.equals(att.getCheckType())) .peek(att -> { att.setFrequency(StringUtils.isNotBlank(att.getFrequency()) ? att.getFrequency() + att.getFrequencyUnit() : att.getFrequency()); @@ -117,15 +117,15 @@ att.setAverageValue(StringUtils.isNotBlank(att.getAverageValue()) ? att.getAverageValue() + att.getAttenuationAmountUnit() : att.getAverageValue()); att.setLessThanValue(att.getLessThan() != null && att.getLessThan() == 1 ? "合格" : "不合格"); }).collect(Collectors.toList()); - map.put("staList",staList); + map.put("staList", staList); BizEquipmentStandardCheckDataMicrowaveAttenuation microwaveAttenuation = staList.get(0); - map.put(STA_PREFIX+DATE_PREFIX+"1",microwaveAttenuation.getTestValueOneDate()); - map.put(STA_PREFIX+DATE_PREFIX+"2",microwaveAttenuation.getTestValueTwoDate()); - map.put(STA_PREFIX+DATE_PREFIX+"3",microwaveAttenuation.getTestValueThreeDate()); - map.put(STA_PREFIX+DATE_PREFIX+"4",microwaveAttenuation.getTestValueFourDate()); - map.put(STA_PREFIX+DATE_PREFIX+"5",microwaveAttenuation.getTestValueFiveDate()); - map.put(STA_PREFIX+DATE_PREFIX+"6",microwaveAttenuation.getTestValueSixDate()); + map.put(STA_PREFIX + DATE_PREFIX + "1", microwaveAttenuation.getTestValueOneDate()); + map.put(STA_PREFIX + DATE_PREFIX + "2", microwaveAttenuation.getTestValueTwoDate()); + map.put(STA_PREFIX + DATE_PREFIX + "3", microwaveAttenuation.getTestValueThreeDate()); + map.put(STA_PREFIX + DATE_PREFIX + "4", microwaveAttenuation.getTestValueFourDate()); + map.put(STA_PREFIX + DATE_PREFIX + "5", microwaveAttenuation.getTestValueFiveDate()); + map.put(STA_PREFIX + DATE_PREFIX + "6", microwaveAttenuation.getTestValueSixDate()); } /** @@ -144,6 +144,7 @@ readyForCoverParams(map, request.getLabCode()); readyForMicrowaveParams(map, request.getMeasureDataMicrowaveAttenuationList()); replaceSlash(map); + List dataItems = checkParamAddRemoveItem(request, 3, map); List templateUrls = new ArrayList<>(); templateUrls.add(bizBusinessDeviceMeasureApprovalMapper.customTemplateUrl(MICROWAVE_ATTENUATION, "1", request.getItemCategoryName())); //与证书模板区分 @@ -152,7 +153,13 @@ map.put("pdfStatus", 1); log.debug("original before ----"); //除了选用的模板不一致,模板配置流程是一致的 - String originalWordUrlFile = printFileRegister.registerPrintFile(MICROWAVE_ATTENUATION, "原始记录打印", null, map, false, null, templateUrls); + String originalWordUrlFile = printFileRegister.registerPrintFile(MICROWAVE_ATTENUATION, "原始记录打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(templateUrls) + .build()); log.debug("originalUrlFile after------------{}", originalWordUrlFile); List urlList = new ArrayList<>(); if (StringUtils.isEmpty(originalWordUrlFile)) { @@ -169,6 +176,19 @@ } } + private List checkParamAddRemoveItem(BizBusinessDeviceMeasureApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int titleIndex = 1; + if (StringUtils.isBlank(request.getAppearanceRemark())) { + addDataRemoveItem(dataItems, -1, "外观及功能性检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataMicrowaveAttenuationList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataMicrowaveAttenuation::getDataType)); + checkRemoveItem(dataMap, "1", map, "firstSeq", titleIndex, dataItems, startIndex, "衰减"); + return dataItems; + } + private void readyForMicrowaveParams(Map map, List measureDataMicrowaveAttenuationList) throws Exception { List list = new ArrayList<>(); for (BizBusinessDeviceMeasureDataMicrowaveAttenuation microwaveAttenuation : measureDataMicrowaveAttenuationList) { @@ -200,6 +220,7 @@ String customUrl = readyForCoverParams(map, request.getLabCode()); readyForMicrowaveParams(map, request.getMeasureDataMicrowaveAttenuationList()); replaceSlash(map); + List dataItems = checkParamAddRemoveItem(request, 4, map); List customTemplateUrls = new ArrayList<>(); log.debug("--------get Certificate template is ...."); //查询对应封面模板和检定证书模板 @@ -212,7 +233,13 @@ List urlList = new ArrayList<>(); //除了选用的模板不一致,模板配置流程是一致的 log.debug("certificate before------------"); - String wordUrl = printFileRegister.registerPrintFile(MICROWAVE_ATTENUATION, "证书打印", null, map, false, null, customTemplateUrls); + String wordUrl = printFileRegister.registerPrintFile(MICROWAVE_ATTENUATION, "证书打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(customTemplateUrls) + .build()); if (StringUtils.isEmpty(wordUrl)) { return urlList; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ResistanceThermometerHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ResistanceThermometerHandler.java index ca10021..6e69db8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ResistanceThermometerHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/ResistanceThermometerHandler.java @@ -2,12 +2,15 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; +import com.casic.missiles.dto.certificate.RegisterCustomParameters; +import com.casic.missiles.dto.certificate.ToBeRemoveDataItem; 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.model.business.*; +import com.casic.missiles.model.business.BizBusinessDeviceMeasureApproval; +import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataResistanceThermometer; import com.casic.missiles.model.equipment.BizEquipmentInfo; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataResistanceThermometer; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckRecordApproval; @@ -99,8 +102,13 @@ BizEquipmentStandardCheckDataResistanceThermometer::getCheckPoint, () -> new TreeMap<>(getComparator()), Collectors.toList())); - - Map lowerRepMap = BeanUtil.beanToMap(repTreeMap.get(repTreeMap.firstKey()).get(0)); + List dataItems = new ArrayList<>(); + int titleIndex = 1; + List thermometers = repTreeMap.get(repTreeMap.firstKey()); + if (CollectionUtils.isEmpty(thermometers)) { + addDataRemoveItem(dataItems, titleIndex++, ""); + } + Map lowerRepMap = BeanUtil.beanToMap(thermometers.get(0)); mapReplace(lowerRepMap); map.put("lowerRep", lowerRepMap); Map upperRepMap = BeanUtil.beanToMap(repTreeMap.get(repTreeMap.lastKey()).get(0)); @@ -138,6 +146,9 @@ List rtpRepList = thermometerList.stream() .filter(t -> RTP.equals(t.getParams()) && REPEATABILITY.equals(t.getCheckType())) .collect(Collectors.toList()); + if (CollectionUtils.isEmpty(rtpRepList)) { + addDataRemoveItem(dataItems, titleIndex++, ""); + } Map rtpRepMap = BeanUtil.beanToMap(rtpRepList.get(0)); mapReplace(rtpRepMap); map.put("RTPRep", rtpRepMap); @@ -150,15 +161,13 @@ map.put("RTPSta", rtpStaMap); //绝缘电阻表校准 - List> resistanceList = thermometerList.stream() + List list = thermometerList.stream() .filter(t -> INSULATION_RESISTANCE_METER_CALIBRATION.equals(t.getParams())) - .map(t -> { - Map objectMap = BeanUtil.beanToMap(t); - mapReplace(objectMap); - return objectMap; - }) .collect(Collectors.toList()); - map.put("resistanceList", resistanceList); + if (CollectionUtils.isEmpty(list)){ + addDataRemoveItem(dataItems, titleIndex++, ""); + } + map.put("resistanceList", list); } private Comparator getComparator() { @@ -183,21 +192,14 @@ log.debug("校验没有原始记录"); return null; } - if (CollectionUtils.isEmpty(request.getMeasureDataResistanceThermometerList())) { - List list = Collections.emptyList(); - request.setMeasureDataResistanceThermometerList(list); - } DictCodeUtils.convertDictCodeToName(request); - if (StringUtils.isNotBlank(request.getAngleAdjustError())){ + if (StringUtils.isNotBlank(request.getAngleAdjustError())) { request.setAngleAdjustError("0".equals(request.getAngleAdjustError()) ? "可用" : "不可用"); } Map map = BeanUtil.beanToMap(request); mapReplace(map); - readyForCoverParams(map, request.getLabCode()); - List resistanceThermometerList = request.getMeasureDataResistanceThermometerList(); - switch (request.getItemCategoryName()) { case THERMAL_RESISTANCE: //工业铂铜热电阻 @@ -217,7 +219,7 @@ default: break; } - + List dataItems = checkOriginalParamAddRemoveItem(request, 3, map); List templateUrls = new ArrayList<>(); templateUrls.add(bizBusinessDeviceMeasureApprovalMapper.customTemplateUrl(RESISTANCE_THERMOMETER, "1", request.getItemCategoryName())); //与证书模板区分 @@ -226,7 +228,13 @@ map.put("pdfStatus", 1); log.debug("original before ----"); //除了选用的模板不一致,模板配置流程是一致的 - String originalUrlFile = printFileRegister.registerPrintFile(MEASURE_DATA, "原始记录打印", null, map, false, null, templateUrls); + String originalUrlFile = printFileRegister.registerPrintFile(MEASURE_DATA, "原始记录打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(templateUrls) + .build()); log.debug("originalUrlFile after------------{}", originalUrlFile); List urlList = new ArrayList<>(); if (StringUtils.isEmpty(originalUrlFile)) { @@ -243,6 +251,56 @@ } } + private List checkOriginalParamAddRemoveItem(BizBusinessDeviceMeasureApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int titleIndex = 1; + if ("工业铂铜热电阻".equals(request.getItemCategoryName())) { + if (StringUtils.isBlank(request.getAppearance())) { + addDataRemoveItem(dataItems, -1, "外观检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + if (StringUtils.isBlank(request.getInsulationResistanceValue())) { + addDataRemoveItem(dataItems, -1, "绝缘电阻"); + } else { + map.put("firstSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataResistanceThermometerList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataResistanceThermometer::getDataCategory)); + checkRemoveItem(dataMap, "1", map, "secondSeq", titleIndex, dataItems, startIndex + 1, "检定点"); + } + if ("恒温槽".equals(request.getItemCategoryName())) { + if (StringUtils.isBlank(request.getAppearance())) { + addDataRemoveItem(dataItems, -1, "外观及功能性检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataResistanceThermometerList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataResistanceThermometer::getDataType)); + checkRemoveItem(dataMap, "1", map, "firstSeq", titleIndex, dataItems, startIndex + 1, "检测项目"); + if (CollectionUtils.isEmpty(dataMap.get("1"))) { + addDataRemoveItem(dataItems, titleIndex++, ""); + } + if (CollectionUtils.isEmpty(dataMap.get("2"))) { + addDataRemoveItem(dataItems, titleIndex++, ""); + addDataRemoveItem(dataItems, titleIndex++, ""); + } + } + if ("双金属温度计".equals(request.getItemCategoryName())) { + if (StringUtils.isBlank(request.getAppearance())) { + addDataRemoveItem(dataItems, -1, "外观及功能性检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + if (StringUtils.isBlank(request.getAngleAdjustError())) { + addDataRemoveItem(dataItems, -1, "角度调整误差"); + } else { + map.put("firstSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataResistanceThermometerList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataResistanceThermometer::getDataType)); + checkRemoveItem(dataMap, "1", map, "secondSeq", titleIndex, dataItems, startIndex + 1, "检定点"); + } + return dataItems; + } + /** * 双金属温度计模板参数 * @@ -445,6 +503,7 @@ default: break; } + List dataItems = checkParamAddRemoveItem(request, 4, map); List customTemplateUrls = new ArrayList<>(); log.debug("--------get Certificate template is ...."); //查询对应封面模板和检定证书模板 @@ -457,7 +516,13 @@ List urlList = new ArrayList<>(); //除了选用的模板不一致,模板配置流程是一致的 log.debug("certificate before------------"); - String wordUrl = printFileRegister.registerPrintFile(request.getItemCategoryName(), "证书打印", null, map, false, null, customTemplateUrls); + String wordUrl = printFileRegister.registerPrintFile(request.getItemCategoryName(), "证书打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(customTemplateUrls) + .build()); if (StringUtils.isEmpty(wordUrl)) { return urlList; } @@ -473,6 +538,44 @@ } } + private List checkParamAddRemoveItem(BizBusinessDeviceMeasureApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int titleIndex = 1; + if ("工业铂铜热电阻".equals(request.getItemCategoryName())) { + if (StringUtils.isBlank(request.getAppearance())) { + addDataRemoveItem(dataItems, -1, "外观检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + if (StringUtils.isBlank(request.getInsulationResistanceValue())) { + addDataRemoveItem(dataItems, -1, "绝缘电阻"); + } else { + map.put("firstSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataResistanceThermometerList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataResistanceThermometer::getDataCategory)); + checkRemoveItem(dataMap, "2", map, "secondSeq", titleIndex, dataItems, startIndex + 1, "其他参数检定结果"); + } + if ("恒温槽".equals(request.getItemCategoryName())) { + if (StringUtils.isBlank(request.getAppearance())) { + addDataRemoveItem(dataItems, -1, "外观及功能性检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataResistanceThermometerList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataResistanceThermometer::getDataType)); + checkRemoveItem(dataMap, "1", map, "firstSeq", titleIndex, dataItems, startIndex + 1, "波动性和均匀性"); + } + if ("双金属温度计".equals(request.getItemCategoryName())) { + if (StringUtils.isBlank(request.getAppearance())) { + addDataRemoveItem(dataItems, -1, "外观检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataResistanceThermometerList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataResistanceThermometer::getDataType)); + checkRemoveItem(dataMap, "1", map, "firstSeq", titleIndex, dataItems, startIndex + 1, "最大示值误差与回差"); + } + return dataItems; + } + /** * 双金属温度计检定证书参数 * 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 index 7d6ec7b..950aa08 100644 --- 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 @@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.casic.missiles.dto.business.deviceMeasure.MeasureEquipmentInfoDTO; +import com.casic.missiles.dto.certificate.RegisterCustomParameters; +import com.casic.missiles.dto.certificate.ToBeRemoveDataItem; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.PrintFileModuleNameEnum; import com.casic.missiles.enums.business.MeasureItemBelongStandardEquipmentDictEnum; @@ -13,6 +15,7 @@ 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.BizBusinessDeviceMeasureDataResistanceThermometer; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataSafetyValue; import com.casic.missiles.model.business.BizBusinessDeviceMeasureInfo; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckRecordApproval; @@ -26,6 +29,7 @@ import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.HashMap; @@ -62,14 +66,15 @@ DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); List safetyValveList = request.getMeasureDataSafetyValueList(); - readyForCoverParams(map,request.getLabCode()); - List list = new ArrayList<>(); + readyForCoverParams(map, request.getLabCode()); + List list = new ArrayList<>(); for (BizBusinessDeviceMeasureDataSafetyValue safetyValue : safetyValveList) { BizBusinessDeviceMeasureDataSafetyValue value = (BizBusinessDeviceMeasureDataSafetyValue) BeanUtils.cloneBean(safetyValue); value.applyStrategyBasedOnDataType(); list.add(value); } assblemParams(list, map); + List dataItems = checkOriginalParamAddRemoveItem(request, 3, map); List templateUrls = new ArrayList<>(); templateUrls.add(bizBusinessDeviceMeasureApprovalMapper.customTemplateUrl(SAFETY_VALVE, "1", request.getItemCategoryName())); //与证书模板区分 @@ -78,7 +83,13 @@ map.put("pdfStatus", 1); log.debug("original before ----"); //除了选用的模板不一致,模板配置流程是一致的 - String originalWordUrlFile = printFileRegister.registerPrintFile(SAFETY_VALVE, "原始记录打印", null, map, false, null, templateUrls); + String originalWordUrlFile = printFileRegister.registerPrintFile(SAFETY_VALVE, "原始记录打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(templateUrls) + .build()); log.debug("originalUrlFile after------------{}", originalWordUrlFile); List urlList = new ArrayList<>(); if (StringUtils.isEmpty(originalWordUrlFile)) { @@ -96,6 +107,21 @@ } + private List checkOriginalParamAddRemoveItem(BizBusinessDeviceMeasureApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int titleIndex = 1; + if (StringUtils.isBlank(request.getAppearanceFunctionCheck())) { + addDataRemoveItem(dataItems, titleIndex++, ""); + } + if (StringUtils.isBlank(request.getSealingTest())) { + addDataRemoveItem(dataItems, titleIndex++, ""); + } + if (CollectionUtils.isEmpty(request.getMeasureDataSafetyValueList())) { + addDataRemoveItem(dataItems, titleIndex++, ""); + } + return dataItems; + } + private void assblemParams(List safetyValveList, Map map) { List> list = new ArrayList<>(); for (BizBusinessDeviceMeasureDataSafetyValue safetyValue : safetyValveList) { @@ -129,14 +155,14 @@ Map map = BeanUtil.beanToMap(request); String customUrl = readyForCoverParams(map, request.getLabCode()); List safetyValveList = request.getMeasureDataSafetyValueList(); - List list = new ArrayList<>(); + List list = new ArrayList<>(); for (BizBusinessDeviceMeasureDataSafetyValue safetyValue : safetyValveList) { BizBusinessDeviceMeasureDataSafetyValue value = (BizBusinessDeviceMeasureDataSafetyValue) BeanUtils.cloneBean(safetyValue); value.applyStrategyBasedOnDataType(); list.add(value); } assblemParams(list, map); - readyForCoverParams(map, request.getLabCode()); + List dataItems = checkParamAddRemoveItem(request, 4, map); List customTemplateUrls = new ArrayList<>(); log.debug("--------get Certificate template is ...."); //查询对应封面模板和检定证书模板 @@ -149,7 +175,13 @@ List urlList = new ArrayList<>(); //除了选用的模板不一致,模板配置流程是一致的 log.debug("certificate before------------"); - String wordUrl = printFileRegister.registerPrintFile(SAFETY_VALVE, "证书打印", null, map, false, null, customTemplateUrls); + String wordUrl = printFileRegister.registerPrintFile(SAFETY_VALVE, "证书打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(customTemplateUrls) + .build()); if (StringUtils.isEmpty(wordUrl)) { return urlList; } @@ -164,4 +196,22 @@ throw new BusinessException(BusinessExceptionEnum.MEASURE_APPROVAL_UPDATE_FAILED); } } + + private List checkParamAddRemoveItem(BizBusinessDeviceMeasureApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int titleIndex = 1; + if (StringUtils.isBlank(request.getAppearanceFunctionCheck())) { + addDataRemoveItem(dataItems, -1, "外观检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + if (StringUtils.isBlank(request.getSealingTest())) { + addDataRemoveItem(dataItems, -1, "密封试验"); + } else { + map.put("firstSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataResistanceThermometerList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataResistanceThermometer::getDataCategory)); + checkRemoveItem(dataMap, "1", map, "secondSeq", titleIndex, dataItems, startIndex + 1, "整定压力/MPa"); + return dataItems; + } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/SignalGeneratorHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/SignalGeneratorHandler.java index bdb6540..296ed9d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/SignalGeneratorHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/SignalGeneratorHandler.java @@ -3,17 +3,19 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; +import com.casic.missiles.dto.certificate.RegisterCustomParameters; +import com.casic.missiles.dto.certificate.ToBeRemoveDataItem; 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.model.business.BizBusinessDeviceMeasureApproval; -import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataCesiumAtom; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataResistanceThermometer; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataSignalGenerator; import com.casic.missiles.model.equipment.BizEquipmentInfo; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataSignalGenerator; +import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataSpectrumAnalyzer; 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; @@ -27,7 +29,10 @@ import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -65,13 +70,19 @@ Map map = BeanUtil.beanToMap(request); processCheckAccord(map, request.getLabCode()); readyForCheckParams(map, request.getCheckDataSignalGeneratorList()); - replaceSlash(map); + List dataItems = removeCheckItem(request, 2, map); map.put("pdfStatus", 1); //除了选用的模板不一致,模板配置流程是一致的 map.put("surveyor", "{{@surveyor}}"); map.put("auditor", "{{@auditor}}"); - String wordUrl = printFileRegister.registerPrintFile(SIGNAL_GENERATOR_CHECK_DATA, "数据打印", null, map, false, null, null); + String wordUrl = printFileRegister.registerPrintFile(SIGNAL_GENERATOR_CHECK_DATA, "数据打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(null) + .build()); List urlList = new ArrayList<>(); if (StringUtils.isNotEmpty(wordUrl)) { urlList.add(wordUrl); @@ -86,6 +97,63 @@ } } + private List removeCheckItem(BizEquipmentStandardCheckRecordApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); +// List titles = Arrays.asList("射频频率", "功率电平", "相对电平", "调幅深度", "调频频偏", "调相相偏", "谐波"); + int repIndex = 1, staIndex = 8; + Map> dataMap = request.getCheckDataSpectrumAnalyzerList().stream().collect(Collectors.groupingBy(BizEquipmentStandardCheckDataSpectrumAnalyzer::getParams)); + if (!map.containsKey("1")) { + addDataRemoveItem(dataItems, startIndex + repIndex, "射频频率"); + addDataRemoveItem(dataItems, startIndex + staIndex, "射频频率:合成标准不确定度(k=2): 1.2×10-8~3.2×10-11"); + } else { + map.put("zeroRepSeq", (repIndex++) + "."); + map.put("zeroStaSeq", (staIndex++) + "."); + } + if (!map.containsKey("2")) { + addDataRemoveItem(dataItems, startIndex + repIndex + 1, "功率电平"); + addDataRemoveItem(dataItems, startIndex + staIndex + 1, "功率电平:合成标准不确定度(k=2): 0.14dB~0.29dB"); + } else { + map.put("firstRepSeq", (repIndex++) + "."); + map.put("firstStaSeq", (staIndex++) + "."); + } + if (!map.containsKey("3")) { + addDataRemoveItem(dataItems, startIndex + repIndex + 2, "相对电平"); + addDataRemoveItem(dataItems, startIndex + staIndex + 2, "相对电平:合成标准不确定度(k=2): 0.08dB~0.28dB"); + } else { + map.put("secondRepSeq", (repIndex++) + "."); + map.put("secondStaSeq", (staIndex++) + "."); + } + if (!map.containsKey("4")) { + addDataRemoveItem(dataItems, startIndex + repIndex + 3, "调幅深度"); + addDataRemoveItem(dataItems, startIndex + staIndex + 3, "调幅深度:合成标准不确定度(k=2):1.3%"); + } else { + map.put("thirdRepSeq", (repIndex++) + "."); + map.put("thirdStaSeq", (staIndex++) + "."); + } + if (!map.containsKey("5")) { + addDataRemoveItem(dataItems, startIndex + repIndex + 4, "调频频偏"); + addDataRemoveItem(dataItems, startIndex + staIndex + 4, "调频频偏:合成标准不确定度(k=2):1.3%"); + } else { + map.put("fourthRepSeq", (repIndex++) + "."); + map.put("fourthStaSeq", (staIndex++) + "."); + } + if (!map.containsKey("6")) { + addDataRemoveItem(dataItems, startIndex + repIndex + 5, "调相相偏"); + addDataRemoveItem(dataItems, startIndex + staIndex + 5, "调相相偏:合成标准不确定度(k=2):1.3%"); + } else { + map.put("fifthRepSeq", (repIndex++) + "."); + map.put("fifthStaSeq", (staIndex++) + "."); + } + if (!map.containsKey("7")) { + addDataRemoveItem(dataItems, startIndex + repIndex + 6, "谐波:10MHz、1GHz,RBW/VBW:1kHz,接收机参考电平:-20dBm;8GHz,RBW/VBW:1kHz,接收机参考电平:-50dBm"); + addDataRemoveItem(dataItems, startIndex + staIndex + 6, "谐波抑制:合成标准不确定度(k=2): 0.20dB~1.1dB"); + } else { + map.put("sixthRepSeq", (repIndex++) + "."); + map.put("sixthStaSeq", (staIndex++) + "."); + } + return dataItems; + } + private void readyForCheckParams(Map map, List signalGeneratorList) { String[] params = {FREQUENCY_CN, EFFICIENCY, RELATIVE_LEVEL_ONE, AMPLITUDE_ADJUSTMENT, FREQUENCY_MODULATION_FREQUENCY_OFFSET @@ -119,7 +187,6 @@ s.setCheckPoint(s.getCheckPoint() + s.getUnit()); s.setPower(s.getPower() + s.getPowerUnit()); s.setRelativeLevel(s.getRelativeLevel() + s.getRelativeLevelUnit()); -// s.setModulation(s.getModulation() + "%"); s.setFrequencyDeviation(s.getFrequencyDeviation() + s.getFrequencyDeviationUnit()); s.setPhaseDeviation(s.getPhaseDeviation() + s.getPhaseDeviationUnit()); switch (s.getParams()) { @@ -197,6 +264,7 @@ } readyForSignalGenerator(map, generatorList); replaceSlash(map); + List dataItems = checkParamAddRemoveItem(request, 3, map); List templateUrls = new ArrayList<>(); templateUrls.add(bizBusinessDeviceMeasureApprovalMapper.customTemplateUrl(SIGNAL_GENERATOR, "1", request.getItemCategoryName())); //与证书模板区分 @@ -205,7 +273,13 @@ map.put("pdfStatus", 1); log.debug("original before ----"); //除了选用的模板不一致,模板配置流程是一致的 - String originalWordUrlFile = printFileRegister.registerPrintFile(SIGNAL_GENERATOR, "原始记录打印", null, map, false, null, templateUrls); + String originalWordUrlFile = printFileRegister.registerPrintFile(SIGNAL_GENERATOR, "原始记录打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(templateUrls) + .build()); log.debug("originalUrlFile after------------{}", originalWordUrlFile); List urlList = new ArrayList<>(); if (StringUtils.isEmpty(originalWordUrlFile)) { @@ -222,6 +296,27 @@ } } + private List checkParamAddRemoveItem(BizBusinessDeviceMeasureApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int titleIndex = 1; + if (StringUtils.isBlank(request.getAppearanceFunctionCheck())) { + addDataRemoveItem(dataItems, -1, "外观及功能性检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataSignalGeneratorList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataSignalGenerator::getDataType)); + titleIndex = checkRemoveItem(dataMap, "1", map, "firstSeq", titleIndex++, dataItems, startIndex + 1, "频率"); + titleIndex = checkRemoveItem(dataMap, "2", map, "secondSeq", titleIndex++, dataItems, startIndex + 2, "功率"); + titleIndex = checkRemoveItem(dataMap, "3", map, "thirdSeq", titleIndex++, dataItems, startIndex + 3, "调幅"); + titleIndex = checkRemoveItem(dataMap, "4", map, "fourthSeq", titleIndex++, dataItems, startIndex + 4, "调频"); + titleIndex = checkRemoveItem(dataMap, "5", map, "fifthSeq", titleIndex++, dataItems, startIndex + 5, "调相"); + titleIndex = checkRemoveItem(dataMap, "6", map, "sixthSeq", titleIndex++, dataItems, startIndex + 6, "剩余调幅"); + titleIndex = checkRemoveItem(dataMap, "7", map, "seventhSeq", titleIndex++, dataItems, startIndex + 7, "剩余调频"); + titleIndex = checkRemoveItem(dataMap, "8", map, "eighthSeq", titleIndex++, dataItems, startIndex + 8, "谐波"); + titleIndex = checkRemoveItem(dataMap, "9", map, "ninthSeq", titleIndex++, dataItems, startIndex + 9, "非谐波"); + return dataItems; + } + private void readyForSignalGenerator(Map map, List generatorList) { //频率 List frequencyList = generatorList.stream().filter(s -> "1".equals(s.getDataType())).collect(Collectors.toList()); @@ -270,6 +365,7 @@ } readyForSignalGenerator(map, list); replaceSlash(map); + List dataItems = checkParamAddRemoveItem(request, 3, map); List customTemplateUrls = new ArrayList<>(); log.debug("--------get Certificate template is ...."); //查询对应封面模板和检定证书模板 @@ -282,7 +378,13 @@ List urlList = new ArrayList<>(); //除了选用的模板不一致,模板配置流程是一致的 log.debug("certificate before------------"); - String wordUrl = printFileRegister.registerPrintFile(SIGNAL_GENERATOR, "证书打印", null, map, false, null, customTemplateUrls); + String wordUrl = printFileRegister.registerPrintFile(SIGNAL_GENERATOR, "证书打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(customTemplateUrls) + .build()); urlList.add(wordUrl); if (StringUtils.isEmpty(wordUrl)) { return urlList; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/SpectrumAnalyzerHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/SpectrumAnalyzerHandler.java index 7fd9978..3c79d4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/SpectrumAnalyzerHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/SpectrumAnalyzerHandler.java @@ -3,6 +3,8 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; +import com.casic.missiles.dto.certificate.RegisterCustomParameters; +import com.casic.missiles.dto.certificate.ToBeRemoveDataItem; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.PrintFileModuleNameEnum; import com.casic.missiles.enums.business.MeasureItemBelongStandardEquipmentDictEnum; @@ -68,7 +70,13 @@ //除了选用的模板不一致,模板配置流程是一致的 map.put("surveyor", "{{@surveyor}}"); map.put("auditor", "{{@auditor}}"); - String wordUrl = printFileRegister.registerPrintFile(SPECTRUM_ANALYZER, "数据打印", null, map, false, null, null); + List dataItems = removeCheckItems(request, 2, map); + String wordUrl = printFileRegister.registerPrintFile(SPECTRUM_ANALYZER, "数据打印", null, RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .customTemplateUrls(null) + .pdf(false) + .build()); List urlList = new ArrayList<>(); if (StringUtils.isNotEmpty(wordUrl)) { urlList.add(wordUrl); @@ -83,6 +91,34 @@ } } + private List removeCheckItems(BizEquipmentStandardCheckRecordApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int repIndex = 1, staIndex = 4; + Map> dataMap = request.getCheckDataSpectrumAnalyzerList().stream().collect(Collectors.groupingBy(BizEquipmentStandardCheckDataSpectrumAnalyzer::getParams)); + if (!dataMap.containsKey("1")) { + addDataRemoveItem(dataItems, startIndex + repIndex, "频率"); + addDataRemoveItem(dataItems, startIndex + staIndex, "频率: U(k=2):6.8×10-11~1.2×10-"); + } else { + map.put("zeroRepSeq", (repIndex++) + "."); + map.put("zeroStaSeq", (staIndex++) + "."); + } + if (!dataMap.containsKey("2")) { + addDataRemoveItem(dataItems, startIndex + repIndex + 1, "功率"); + addDataRemoveItem(dataItems, startIndex + staIndex + 1, "功率"); + } else { + map.put("firstRepSeq", (repIndex++) + "."); + map.put("firstStaSeq", (staIndex++) + "."); + } + if (!dataMap.containsKey("3")) { + addDataRemoveItem(dataItems, startIndex + repIndex + 2, "相对电平"); + addDataRemoveItem(dataItems, startIndex + staIndex + 2, "相对电平"); + } else { + map.put("secondRepSeq", (repIndex++) + "."); + map.put("secondStaSeq", (staIndex++) + "."); + } + return dataItems; + } + private void readyForCheckParams(Map map, List spectrumAnalyzerList) { Map> groupMap = spectrumAnalyzerList .stream().collect(Collectors.groupingBy(BizEquipmentStandardCheckDataSpectrumAnalyzer::getParams)); @@ -261,11 +297,6 @@ log.debug("校验没有原始记录"); return null; } - if (CollectionUtils.isEmpty(request.getMeasureDataSpectrumAnalyzerList())) { - List list = new ArrayList<>(); - list.add(new BizBusinessDeviceMeasureDataSpectrumAnalyzer()); - request.setMeasureDataSpectrumAnalyzerList(list); - } DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); readyForCoverParams(map, request.getLabCode()); @@ -278,6 +309,7 @@ readyForMeasureParams(map, analyzerList); //替换/方法 replaceSlash(map); + List dataItems = checkParamAddRemoveItem(request, 3, map); List templateUrls = new ArrayList<>(); templateUrls.add(bizBusinessDeviceMeasureApprovalMapper.customTemplateUrl(SPECTRUM_ANALYZER, "1", request.getItemCategoryName())); //与证书模板区分 @@ -286,7 +318,13 @@ map.put("pdfStatus", 1); log.debug("original before ----"); //除了选用的模板不一致,模板配置流程是一致的 - String originalWordUrlFile = printFileRegister.registerPrintFile(SPECTRUM_ANALYZER, "原始记录打印", null, map, false, null, templateUrls); + String originalWordUrlFile = printFileRegister.registerPrintFile(SPECTRUM_ANALYZER, "原始记录打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(templateUrls) + .build()); log.debug("originalUrlFile after------------{}", originalWordUrlFile); List urlList = new ArrayList<>(); if (StringUtils.isEmpty(originalWordUrlFile)) { @@ -303,6 +341,30 @@ } } + private List checkParamAddRemoveItem(BizBusinessDeviceMeasureApproval request, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int titleIndex = 1; + if (StringUtils.isBlank(request.getAppearanceRemark())) { + addDataRemoveItem(dataItems, -1, "外观及功能性检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + Map> dataMap = request.getMeasureDataSpectrumAnalyzerList().stream().collect(Collectors.groupingBy(BizBusinessDeviceMeasureDataSpectrumAnalyzer::getDataType)); + titleIndex = checkRemoveItem(dataMap, "1", map, "firstSeq", titleIndex, dataItems, startIndex + 1, "频率显示"); + titleIndex = checkRemoveItem(dataMap, "2", map, "secondSeq", titleIndex, dataItems, startIndex + 2, "扫频宽度"); + titleIndex = checkRemoveItem(dataMap, "3", map, "thirdSeq", titleIndex, dataItems, startIndex + 3, "中频带宽"); + titleIndex = checkRemoveItem(dataMap, "4", map, "fourthSeq", titleIndex, dataItems, startIndex + 4, "中频带宽转换偏差"); + titleIndex = checkRemoveItem(dataMap, "5", map, "fifthSeq", titleIndex, dataItems, startIndex + 5, "参考电平"); + titleIndex = checkRemoveItem(dataMap, "6", map, "sixthSeq", titleIndex, dataItems, startIndex + 6, "垂直刻度(显示位置从上到下)"); + titleIndex = checkRemoveItem(dataMap, "7", map, "seventhSeq", titleIndex, dataItems, startIndex + 7, "输入频响"); + titleIndex = checkRemoveItem(dataMap, "8", map, "eighthSeq", titleIndex, dataItems, startIndex + 8, "平均噪声电平"); + titleIndex = checkRemoveItem(dataMap, "9", map, "ninthSeq", titleIndex, dataItems, startIndex + 9, "谐波失真"); + titleIndex = checkRemoveItem(dataMap, "10", map, "tenthSeq", titleIndex, dataItems, startIndex + 10, "输入衰减转换偏差"); + titleIndex = checkRemoveItem(dataMap, "11", map, "eleventhSeq", titleIndex, dataItems, startIndex + 11, "1dB增益压缩点"); + titleIndex = checkRemoveItem(dataMap, "12", map, "twelfthSeq", titleIndex, dataItems, startIndex + 12, "校准信号"); + return dataItems; + } + private void readyForMeasureParams(Map map, List analyzerList) { //频率显示 @@ -501,6 +563,7 @@ } readyForMeasureParams(map, analyzerList); replaceSlash(map); + List dataItems = checkParamAddRemoveItem(request, 4, map); List customTemplateUrls = new ArrayList<>(); log.debug("--------get Certificate template is ...."); //查询对应封面模板和检定证书模板 @@ -513,7 +576,13 @@ List urlList = new ArrayList<>(); //除了选用的模板不一致,模板配置流程是一致的 log.debug("certificate before------------"); - String wordUrl = printFileRegister.registerPrintFile(SPECTRUM_ANALYZER, "证书打印", null, map, false, null, customTemplateUrls); + String wordUrl = printFileRegister.registerPrintFile(SPECTRUM_ANALYZER, "证书打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(customTemplateUrls) + .build()); if (StringUtils.isEmpty(wordUrl)) { return urlList; }