diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java index cf4969e..d7e6c9f 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java @@ -50,6 +50,7 @@ String LOW_POWER = "小功率"; String LOW_FREQUENCY_SIGNAL_SOURCE_CHECK_DATA = "低频信号源核查数据"; String LOW_POWER_CHECK_DATA = "小功率核查数据"; + String MICROWAVE_ATTENUATION = "微波衰减"; String FILE_CHANGE_FORM = "文件更改申请单"; String FILE_GRANT_NOTICE_FORM = "文件发放通知单"; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java index cf4969e..d7e6c9f 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java @@ -50,6 +50,7 @@ String LOW_POWER = "小功率"; String LOW_FREQUENCY_SIGNAL_SOURCE_CHECK_DATA = "低频信号源核查数据"; String LOW_POWER_CHECK_DATA = "小功率核查数据"; + String MICROWAVE_ATTENUATION = "微波衰减"; String FILE_CHANGE_FORM = "文件更改申请单"; String FILE_GRANT_NOTICE_FORM = "文件发放通知单"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java index ef3aa72..a190250 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java @@ -427,6 +427,10 @@ @TableField(exist = false) private List measureDataLowPowerList; + @ApiModelProperty(value = "检定数据-微波衰减(打印需要)",dataType = "List") + @TableField(exist = false) + private List measureDataMicrowaveAttenuationList; + @ApiModelProperty(value = "标准装置编号", dataType = "String") @TableField(exist = false) private String belongStandardEquipment; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java index cf4969e..d7e6c9f 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java @@ -50,6 +50,7 @@ String LOW_POWER = "小功率"; String LOW_FREQUENCY_SIGNAL_SOURCE_CHECK_DATA = "低频信号源核查数据"; String LOW_POWER_CHECK_DATA = "小功率核查数据"; + String MICROWAVE_ATTENUATION = "微波衰减"; String FILE_CHANGE_FORM = "文件更改申请单"; String FILE_GRANT_NOTICE_FORM = "文件发放通知单"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java index ef3aa72..a190250 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java @@ -427,6 +427,10 @@ @TableField(exist = false) private List measureDataLowPowerList; + @ApiModelProperty(value = "检定数据-微波衰减(打印需要)",dataType = "List") + @TableField(exist = false) + private List measureDataMicrowaveAttenuationList; + @ApiModelProperty(value = "标准装置编号", dataType = "String") @TableField(exist = false) private String belongStandardEquipment; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckDataMicrowaveAttenuation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckDataMicrowaveAttenuation.java index c0220c9..e0120bd 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckDataMicrowaveAttenuation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckDataMicrowaveAttenuation.java @@ -257,6 +257,10 @@ @TableField("less_than") private Integer lessThan; + @ApiModelProperty(value = "结论(value)",dataType = "String") + @TableField(exist = false) + private String lessThanValue; + /** * 稳定性 */ diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java index cf4969e..d7e6c9f 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java @@ -50,6 +50,7 @@ String LOW_POWER = "小功率"; String LOW_FREQUENCY_SIGNAL_SOURCE_CHECK_DATA = "低频信号源核查数据"; String LOW_POWER_CHECK_DATA = "小功率核查数据"; + String MICROWAVE_ATTENUATION = "微波衰减"; String FILE_CHANGE_FORM = "文件更改申请单"; String FILE_GRANT_NOTICE_FORM = "文件发放通知单"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java index ef3aa72..a190250 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java @@ -427,6 +427,10 @@ @TableField(exist = false) private List measureDataLowPowerList; + @ApiModelProperty(value = "检定数据-微波衰减(打印需要)",dataType = "List") + @TableField(exist = false) + private List measureDataMicrowaveAttenuationList; + @ApiModelProperty(value = "标准装置编号", dataType = "String") @TableField(exist = false) private String belongStandardEquipment; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckDataMicrowaveAttenuation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckDataMicrowaveAttenuation.java index c0220c9..e0120bd 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckDataMicrowaveAttenuation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckDataMicrowaveAttenuation.java @@ -257,6 +257,10 @@ @TableField("less_than") private Integer lessThan; + @ApiModelProperty(value = "结论(value)",dataType = "String") + @TableField(exist = false) + private String lessThanValue; + /** * 稳定性 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckRecordApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckRecordApproval.java index 7a47e92..8f91bd0 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckRecordApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckRecordApproval.java @@ -262,6 +262,10 @@ @TableField(exist = false) private List checkDataLowPowerList; + @ApiModelProperty(value = "核查数据-微波衰减",dataType = "List") + @TableField(exist = false) + private List checkDataMicrowaveAttenuationList; + @ApiModelProperty(value = "温度值结论",dataType = "String") @TableField(exist = false) private String temperatureConclusion; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java index cf4969e..d7e6c9f 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrintFileModuleNameEnum.java @@ -50,6 +50,7 @@ String LOW_POWER = "小功率"; String LOW_FREQUENCY_SIGNAL_SOURCE_CHECK_DATA = "低频信号源核查数据"; String LOW_POWER_CHECK_DATA = "小功率核查数据"; + String MICROWAVE_ATTENUATION = "微波衰减"; String FILE_CHANGE_FORM = "文件更改申请单"; String FILE_GRANT_NOTICE_FORM = "文件发放通知单"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java index ef3aa72..a190250 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BizBusinessDeviceMeasureApproval.java @@ -427,6 +427,10 @@ @TableField(exist = false) private List measureDataLowPowerList; + @ApiModelProperty(value = "检定数据-微波衰减(打印需要)",dataType = "List") + @TableField(exist = false) + private List measureDataMicrowaveAttenuationList; + @ApiModelProperty(value = "标准装置编号", dataType = "String") @TableField(exist = false) private String belongStandardEquipment; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckDataMicrowaveAttenuation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckDataMicrowaveAttenuation.java index c0220c9..e0120bd 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckDataMicrowaveAttenuation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckDataMicrowaveAttenuation.java @@ -257,6 +257,10 @@ @TableField("less_than") private Integer lessThan; + @ApiModelProperty(value = "结论(value)",dataType = "String") + @TableField(exist = false) + private String lessThanValue; + /** * 稳定性 */ diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckRecordApproval.java b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckRecordApproval.java index 7a47e92..8f91bd0 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckRecordApproval.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/equipment/BizEquipmentStandardCheckRecordApproval.java @@ -262,6 +262,10 @@ @TableField(exist = false) private List checkDataLowPowerList; + @ApiModelProperty(value = "核查数据-微波衰减",dataType = "List") + @TableField(exist = false) + private List checkDataMicrowaveAttenuationList; + @ApiModelProperty(value = "温度值结论",dataType = "String") @TableField(exist = false) private String temperatureConclusion; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MicrowaveHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MicrowaveHandler.java new file mode 100644 index 0000000..fb246c1 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MicrowaveHandler.java @@ -0,0 +1,238 @@ +package com.casic.missiles.service.Impl.eqpt.standard.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +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; +import com.casic.missiles.model.equipment.BizEquipmentStandardCheckRecordApproval; +import com.casic.missiles.service.Impl.eqpt.standard.StandardEquipmentPrint; +import com.casic.missiles.service.Impl.eqpt.standard.StandardEquipmentSupport; +import com.casic.missiles.service.listeners.register.PrintFileRegister; +import com.casic.missiles.utils.DictCodeUtils; +import com.casic.missiles.utils.SnowflakeUtil; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.beanutils.BeanUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; + +import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @Author: TuT + * @CreateTime: 2024-04-09 09:05 + * @Description: MicrowaveHandler 微波衰减handler + */ +@Component(MeasureItemBelongStandardEquipmentDictEnum.MICROWAVE_ATTENUATION) +@RequiredArgsConstructor +@Slf4j +public class MicrowaveHandler extends StandardEquipmentSupport implements PrintFileModuleNameEnum, StandardEquipmentPrint { + private final PrintFileRegister printFileRegister; + + private final BizBusinessDeviceMeasureApprovalMapper bizBusinessDeviceMeasureApprovalMapper; + + /** + * @param request + * @return + */ + @Override + public List doCheckCertificateFile(BizEquipmentStandardCheckRecordApproval request) { + try { + //健壮性判断 + if (ObjectUtil.isEmpty(request)) { + return null; + } + DictCodeUtils.convertDictCodeToName(request.getEquipmentInfo()); + for (BizEquipmentInfo bizEquipmentInfo : request.getCheckEquipmentList()) { + DictCodeUtils.convertDictCodeToName(bizEquipmentInfo); + } + //核查依据文件为空,则设置为无 + if (StringUtils.isBlank(request.getCheckAccord())) { + request.setCheckAccord("无"); + } + Map map = BeanUtil.beanToMap(request); + processCheckAccord(map); + readyForCheckDataParams(map, request.getCheckDataMicrowaveAttenuationList()); + replaceSlash(map); + map.put("pdfStatus", 1); + //除了选用的模板不一致,模板配置流程是一致的 + String wordUrl = printFileRegister.registerPrintFile(MICROWAVE_ATTENUATION, "数据打印", null, map, false, null, null); + List urlList = new ArrayList<>(); + if (StringUtils.isNotEmpty(wordUrl)) { + urlList.add(wordUrl); + } + if (map.containsKey("pdfUrl")) { + urlList.add((String) map.get("pdfUrl")); + } + return urlList; + } catch (Exception ex) { + log.info("-----package data is exception, this is {}", ex); + throw new BusinessException(BusinessExceptionEnum.MEASURE_APPROVAL_UPDATE_FAILED); + } + } + + private void readyForCheckDataParams(Map map, List attenuationList) { + List repList = attenuationList.stream() + .filter(att -> REPEATABILITY.equals(att.getCheckType())) + .peek(att -> { + att.setFrequency(StringUtils.isNotBlank(att.getFrequency()) ? att.getFrequency() + att.getFrequencyUnit() : att.getFrequency()); + att.setAttenuationAmount(StringUtils.isNotBlank(att.getAttenuationAmount()) ? att.getAttenuationAmount() + att.getAttenuationAmountUnit() : att.getAttenuationAmount()); + att.setTestValueOne(StringUtils.isNotBlank(att.getTestValueOne()) ? att.getTestValueOne() + att.getAttenuationAmountUnit() : att.getTestValueOne()); + att.setTestValueTwo(StringUtils.isNotBlank(att.getTestValueTwo()) ? att.getTestValueTwo() + att.getAttenuationAmountUnit() : att.getTestValueTwo()); + att.setTestValueThree(StringUtils.isNotBlank(att.getTestValueThree()) ? att.getTestValueThree() + att.getAttenuationAmountUnit() : att.getTestValueThree()); + att.setTestValueFour(StringUtils.isNotBlank(att.getTestValueFour()) ? att.getTestValueFour() + att.getAttenuationAmountUnit() : att.getTestValueFour()); + att.setTestValueFive(StringUtils.isNotBlank(att.getTestValueFive()) ? att.getTestValueFive() + att.getAttenuationAmountUnit() : att.getTestValueFive()); + att.setTestValueSix(StringUtils.isNotBlank(att.getTestValueSix()) ? att.getTestValueSix() + att.getAttenuationAmountUnit() : att.getTestValueSix()); + att.setTestValueSeven(StringUtils.isNotBlank(att.getTestValueSeven()) ? att.getTestValueSeven() + att.getAttenuationAmountUnit() : att.getTestValueSeven()); + att.setTestValueEight(StringUtils.isNotBlank(att.getTestValueEight()) ? att.getTestValueEight() + att.getAttenuationAmountUnit() : att.getTestValueEight()); + att.setTestValueNine(StringUtils.isNotBlank(att.getTestValueNine()) ? att.getTestValueNine() + att.getAttenuationAmountUnit() : att.getTestValueNine()); + 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); + List staList = attenuationList.stream().filter(att -> STABILITY.equals(att.getCheckType())) + .peek(att -> { + att.setFrequency(StringUtils.isNotBlank(att.getFrequency()) ? att.getFrequency() + att.getFrequencyUnit() : att.getFrequency()); + att.setAttenuationAmount(StringUtils.isNotBlank(att.getAttenuationAmount()) ? att.getAttenuationAmount() + att.getAttenuationAmountUnit() : att.getAttenuationAmount()); + att.setTestValueOne(StringUtils.isNotBlank(att.getTestValueOne()) ? att.getTestValueOne() + att.getAttenuationAmountUnit() : att.getTestValueOne()); + att.setTestValueTwo(StringUtils.isNotBlank(att.getTestValueTwo()) ? att.getTestValueTwo() + att.getAttenuationAmountUnit() : att.getTestValueTwo()); + att.setTestValueThree(StringUtils.isNotBlank(att.getTestValueThree()) ? att.getTestValueThree() + att.getAttenuationAmountUnit() : att.getTestValueThree()); + att.setTestValueFour(StringUtils.isNotBlank(att.getTestValueFour()) ? att.getTestValueFour() + att.getAttenuationAmountUnit() : att.getTestValueFour()); + att.setTestValueFive(StringUtils.isNotBlank(att.getTestValueFive()) ? att.getTestValueFive() + att.getAttenuationAmountUnit() : att.getTestValueFive()); + att.setTestValueSix(StringUtils.isNotBlank(att.getTestValueSix()) ? att.getTestValueSix() + att.getAttenuationAmountUnit() : att.getTestValueSix()); + 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); + + 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()); + } + + /** + * @param request + * @return + */ + @Override + public List doCreateOriginalFile(BizBusinessDeviceMeasureApproval request) { + try { + if (examineOriginalFile(request)) { + log.debug("校验没有原始记录"); + return null; + } + DictCodeUtils.convertDictCodeToName(request); + Map map = BeanUtil.beanToMap(request); + readyForCoverParams(map, request.getLabCode()); + + readyForMicrowaveParams(map, request.getMeasureDataMicrowaveAttenuationList()); + + + replaceSlash(map); + List templateUrls = new ArrayList<>(); + templateUrls.add(bizBusinessDeviceMeasureApprovalMapper.customTemplateUrl(MICROWAVE_ATTENUATION, "1", request.getItemCategoryName())); + //与证书模板区分 + SnowflakeUtil snowflakeUtil = new SnowflakeUtil(); + map.put("id", snowflakeUtil.nextId()); + map.put("pdfStatus", 1); + log.debug("original before ----"); + //除了选用的模板不一致,模板配置流程是一致的 + String originalWordUrlFile = printFileRegister.registerPrintFile(MICROWAVE_ATTENUATION, "原始记录打印", null, map, false, null, templateUrls); + log.debug("originalUrlFile after------------{}", originalWordUrlFile); + List urlList = new ArrayList<>(); + urlList.add(originalWordUrlFile); + if (map.containsKey("pdfUrl")) { + urlList.add((String) map.get("pdfUrl")); + } + return urlList; + } catch (Exception ex) { + log.info("-----package data is exception, this is {}", ex); + throw new BusinessException(BusinessExceptionEnum.MEASURE_APPROVAL_UPDATE_FAILED); + } + } + + private void readyForMicrowaveParams(Map map, List measureDataMicrowaveAttenuationList) throws Exception { + List list = new ArrayList<>(); + for (BizBusinessDeviceMeasureDataMicrowaveAttenuation microwaveAttenuation : measureDataMicrowaveAttenuationList) { + BizBusinessDeviceMeasureDataMicrowaveAttenuation attenuation = (BizBusinessDeviceMeasureDataMicrowaveAttenuation) BeanUtils.cloneBean(microwaveAttenuation); + attenuation.setFrequency(StringUtils.isNotBlank(attenuation.getFrequency()) ? attenuation.getFrequency() + attenuation.getFrequencyUnit() : ""); + attenuation.setNominalValue(StringUtils.isNotBlank(attenuation.getNominalValue()) ? attenuation.getNominalValue() + attenuation.getNominalValueUnit() : ""); + attenuation.setDirectMeasureValue(StringUtils.isNotBlank(attenuation.getDirectMeasureValue()) ? attenuation.getDirectMeasureValue() + "dBm" : ""); + attenuation.setAddMeasureValue(StringUtils.isNotBlank(attenuation.getAddMeasureValue()) ? attenuation.getAddMeasureValue() + "dBm" : ""); + attenuation.setLowerIndex(StringUtils.isNotBlank(attenuation.getLowerIndex()) ? attenuation.getLowerIndex() + attenuation.getNominalValueUnit() : ""); + attenuation.setAttenuationAmount(StringUtils.isNotBlank(attenuation.getAttenuationAmount()) ? attenuation.getAttenuationAmount() + attenuation.getNominalValueUnit() : ""); + attenuation.setUpperIndex(StringUtils.isNotBlank(attenuation.getUpperIndex()) ? attenuation.getUpperIndex() + attenuation.getNominalValueUnit() : ""); + if (attenuation.getExceedMark() == 1) { + attenuation.setAttenuationAmount(StringUtils.isNotBlank(attenuation.getAttenuationAmount()) ? attenuation.getAttenuationAmount() + "*" : attenuation.getAttenuationAmount()); + } + list.add(attenuation); + } + map.put("list", list); + } + + /** + * @param request + * @return + */ + @Override + public List doCreateCertificateFile(BizBusinessDeviceMeasureApproval request) { + try { + //过滤不能生成证书的 + if (checkOutUnablePrint(request)) { + log.debug("该报告没有证书报告"); + return null; + } + if (CollectionUtils.isEmpty(request.getMeasureDataCesiumAtomList())) { + List list = new ArrayList<>(); + list.add(new BizBusinessDeviceMeasureDataCesiumAtom()); + request.setMeasureDataCesiumAtomList(list); + } + DictCodeUtils.convertDictCodeToName(request); + Map map = BeanUtil.beanToMap(request); + readyForCoverParams(map, request.getLabCode()); + + readyForMicrowaveParams(map, request.getMeasureDataMicrowaveAttenuationList()); + + replaceSlash(map); + List customTemplateUrls = new ArrayList<>(); + log.debug("--------get Certificate template is ...."); + //查询对应封面模板和检定证书模板 + customTemplateUrls.add(bizBusinessDeviceMeasureApprovalMapper.customTemplateUrl(MEASURE_DATA, "2", request.getMeasureCategoryName())); + customTemplateUrls.add(bizBusinessDeviceMeasureApprovalMapper.customTemplateUrl(MICROWAVE_ATTENUATION, "2", request.getItemCategoryName())); + SnowflakeUtil snowflakeUtil = new SnowflakeUtil(); + map.put("id", snowflakeUtil.nextId()); + map.put("pdfStatus", 1); + List urlList = new ArrayList<>(); + //除了选用的模板不一致,模板配置流程是一致的 + log.debug("certificate before------------"); + String wordUrl = printFileRegister.registerPrintFile(MICROWAVE_ATTENUATION, "证书打印", null, map, false, null, customTemplateUrls); + urlList.add(wordUrl); + if (map.containsKey("pdfUrl")) { + urlList.add((String) map.get("pdfUrl")); + } + log.debug("certificate after------------{}", wordUrl); + return urlList; + } catch (Exception ex) { + log.debug("doCreateCertificateFile Exception is------------{}", ex); + throw new BusinessException(BusinessExceptionEnum.MEASURE_APPROVAL_UPDATE_FAILED); + } + } +}