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 ca7efbd..669ef51 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 @@ -268,6 +268,7 @@ private List measureDataCalibratorList; @ApiModelProperty(value = "0.02级活塞式压力计检定项配置(打印需要)", dataType = "Object") + @TableField(exist = false) private BizBusinessDeviceMeasureItemConfigPistonGauge measureItemConfigPistonGauge; @ApiModelProperty(value = "检定数据-0.02级活塞式压力计(打印需要)", dataType = "List") 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 ca7efbd..669ef51 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 @@ -268,6 +268,7 @@ private List measureDataCalibratorList; @ApiModelProperty(value = "0.02级活塞式压力计检定项配置(打印需要)", dataType = "Object") + @TableField(exist = false) private BizBusinessDeviceMeasureItemConfigPistonGauge measureItemConfigPistonGauge; @ApiModelProperty(value = "检定数据-0.02级活塞式压力计(打印需要)", dataType = "List") diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java index a2d54b3..01166a2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java @@ -2,6 +2,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.map.MapUtil; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -11,6 +12,8 @@ import com.casic.missiles.mapper.business.BizBusinessDeviceMeasureApprovalMapper; import com.casic.missiles.model.business.BizBusinessDeviceMeasureApproval; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataCalibrator; +import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataPistonGauge; +import com.casic.missiles.model.business.BizBusinessDeviceMeasureItemConfigPistonGauge; import com.casic.missiles.model.equipment.BizEquipmentInfo; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataCalibrator; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckRecordApproval; @@ -22,12 +25,10 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.math3.ml.neuralnet.MapUtils; import org.springframework.stereotype.Component; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -76,9 +77,9 @@ map.put(BELOW_STANDARD, "\uF0A3"); List customTemplateUrls = new ArrayList<>(1); BizBusinessDeviceMeasureApprovalMapper bizBusinessMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); - customTemplateUrls.add(bizBusinessMapper.customTemplateUrl(request.getItemCategoryName().contains("电信号")?"电信号":"压力值", "3", "")); + customTemplateUrls.add(bizBusinessMapper.customTemplateUrl(request.getItemCategoryName().contains("电信号") ? "电信号" : "压力值", "3", "")); //除了选用的模板不一致,模板配置流程是一致的 - String wordUrl = printFileRegister.registerPrintFile(RESISTANCE_CHECK_DATA, request.getItemCategoryName().contains("电信号")?"电信号导出模板":"压力导出模板", + String wordUrl = printFileRegister.registerPrintFile(RESISTANCE_CHECK_DATA, request.getItemCategoryName().contains("电信号") ? "电信号导出模板" : "压力导出模板", null, map, true, null, customTemplateUrls); List urlList = new ArrayList<>(); urlList.add(wordUrl); @@ -95,24 +96,22 @@ public String doCreateOriginalFile(BizBusinessDeviceMeasureApproval measureItemInfo) { //作为分发点 try { - if (CollectionUtil.isEmpty(measureItemInfo.getMeasureDataCalibratorList())) { - List bizBusinessDeviceMeasureDataCalibrators = new ArrayList<>(); - bizBusinessDeviceMeasureDataCalibrators.add(new BizBusinessDeviceMeasureDataCalibrator()); - measureItemInfo.setMeasureDataCalibratorList(bizBusinessDeviceMeasureDataCalibrators); + if (CollectionUtil.isEmpty(measureItemInfo.getMeasureDataPistonGaugeList())) { + List bizBusinessDeviceMeasureDataPistonGaugeList = new ArrayList<>(); + bizBusinessDeviceMeasureDataPistonGaugeList.add(new BizBusinessDeviceMeasureDataPistonGauge()); + measureItemInfo.setMeasureDataPistonGaugeList(bizBusinessDeviceMeasureDataPistonGaugeList); } Map map = BeanUtil.beanToMap(measureItemInfo); List customTemplateUrls = new ArrayList<>(); BizBusinessDeviceMeasureApprovalMapper bizBusinessMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); //准备封面参数 prepareCoverParams(map, measureItemInfo.getLabCode()); + //参数 + customParam(map); + //检定数据 + measuredDataParam(map, measureItemInfo.getMeasureDataPistonGaugeList()); //这一块逻辑比较复杂 customTemplateUrls.add(bizBusinessMapper.customTemplateByCategory("1", measureItemInfo.getItemCategoryId())); - //与证书模板区分 - convertIntToValue(map, "appearance");//外观 - convertIntToValue(map, "pointerDeflectionStability");//绝缘电阻 - convertIntToValue(map, "tightness");//密封性 - convertIntToValue(map, "zeroDriftResult");//零点漂移 - convertIntToValue(map, "pointerDeflectionStability");//零点漂移 map.put("id", snowflakeUtil.nextId()); //除了选用的模板不一致,模板配置流程是一致的 return printFileRegister.registerPrintFile(MEASURE_DATA, "原始记录打印", null, map, true, null, customTemplateUrls); @@ -125,14 +124,17 @@ public List doCreateCertificateFile(BizBusinessDeviceMeasureApproval measureItemInfo) { try { //过滤不能生成证书的 - if (CollectionUtil.isEmpty(measureItemInfo.getMeasureDataCalibratorList())) { - List bizBusinessDeviceMeasureDataCalibrators = new ArrayList<>(); - bizBusinessDeviceMeasureDataCalibrators.add(new BizBusinessDeviceMeasureDataCalibrator()); - measureItemInfo.setMeasureDataCalibratorList(bizBusinessDeviceMeasureDataCalibrators); + if (CollectionUtil.isEmpty(measureItemInfo.getMeasureDataPistonGaugeList())) { + List bizBusinessDeviceMeasureDataPistonGaugeList = new ArrayList<>(); + bizBusinessDeviceMeasureDataPistonGaugeList.add(new BizBusinessDeviceMeasureDataPistonGauge()); + measureItemInfo.setMeasureDataPistonGaugeList(bizBusinessDeviceMeasureDataPistonGaugeList); } + Map map = BeanUtil.beanToMap(measureItemInfo); //准备封面参数 prepareCoverParams(map, measureItemInfo.getLabCode()); + measuredDataParam(map, measureItemInfo.getMeasureDataPistonGaugeList()); + customParam(map); List customTemplateUrls = new ArrayList<>(); BizBusinessDeviceMeasureApprovalMapper bizBusinessMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); customTemplateUrls.add(bizBusinessMapper.customTemplateUrl(MEASURE_DATA, "2", measureItemInfo.getMeasureCategoryName())); @@ -140,11 +142,6 @@ map.put("id", snowflakeUtil.nextId()); map.put("pdfStatus", 1); List urlList = new ArrayList<>(); - convertIntToValue(map, "appearance");//外观 - convertIntToValue(map, "pointerDeflectionStability");//绝缘电阻 - convertIntToValue(map, "tightness");//密封性 - convertIntToValue(map, "zeroDriftResult");//零点漂移 - convertIntToValue(map, "pointerDeflectionStability");//零点漂移 //除了选用的模板不一致,模板配置流程是一致的 String wordUrl = printFileRegister.registerPrintFile(MEASURE_DATA, "证书打印", null, map, false, null, customTemplateUrls); urlList.add(wordUrl); @@ -157,10 +154,30 @@ } } - private void convertIntToValue(Map objectMap, String key) { - if (objectMap.containsKey(key)) { - objectMap.put(key, ((Integer) objectMap.get(key)).equals(1) ? "合格" : "不合格"); - } + + private void measuredDataParam(Map map, List measureDataPistonGaugeList) { + //即示值误差、回程误差、轻敲位移 + List pistonGaugeList = measureDataPistonGaugeList.stream().filter( + e -> "1".equals(e.getDataType()) + ).collect(Collectors.toList()); + map.put("pistonGaugeList", pistonGaugeList); + //设定点 + List setPointGaugeList = measureDataPistonGaugeList.stream().filter( + e -> "2".equals(e.getDataType()) + ).collect(Collectors.toList()); + map.put("setPointGaugeList", setPointGaugeList); + } + + + private void customParam(Map map) { + BizBusinessDeviceMeasureItemConfigPistonGauge pistonGauge = (BizBusinessDeviceMeasureItemConfigPistonGauge) map.get("measureItemConfigPistonGauge"); + map.put("appearance", pistonGauge.getAppearance() ? "合格" : "不合格*");//外观 + map.put("tightness", pistonGauge.getTightness() ? "合格" : "不合格*");//密封性 + map.put("rangeUnit", pistonGauge.getRangeUnit());//密封性 + map.put("insulationResistance", pistonGauge.getInsulationResistance() ? "合格" : "不合格*");//绝缘电阻 + map.put("pointerDeflectionStability", pistonGauge.getPointerDeflectionStability() ? "合格" : "不合格*");//指针偏转平稳性 + map.put("zeroDriftResult", pistonGauge.getTightness() ? "合格" : "不合格*");//零点漂移 + map.put("indicationError", pistonGauge.getIndicationError() ? "合格" : "不合格*");//示值误差、回程误差、轻敲位移 } 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 ca7efbd..669ef51 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 @@ -268,6 +268,7 @@ private List measureDataCalibratorList; @ApiModelProperty(value = "0.02级活塞式压力计检定项配置(打印需要)", dataType = "Object") + @TableField(exist = false) private BizBusinessDeviceMeasureItemConfigPistonGauge measureItemConfigPistonGauge; @ApiModelProperty(value = "检定数据-0.02级活塞式压力计(打印需要)", dataType = "List") diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java index a2d54b3..01166a2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/PressureGaugeHandler.java @@ -2,6 +2,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.map.MapUtil; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -11,6 +12,8 @@ import com.casic.missiles.mapper.business.BizBusinessDeviceMeasureApprovalMapper; import com.casic.missiles.model.business.BizBusinessDeviceMeasureApproval; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataCalibrator; +import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataPistonGauge; +import com.casic.missiles.model.business.BizBusinessDeviceMeasureItemConfigPistonGauge; import com.casic.missiles.model.equipment.BizEquipmentInfo; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataCalibrator; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckRecordApproval; @@ -22,12 +25,10 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.math3.ml.neuralnet.MapUtils; import org.springframework.stereotype.Component; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -76,9 +77,9 @@ map.put(BELOW_STANDARD, "\uF0A3"); List customTemplateUrls = new ArrayList<>(1); BizBusinessDeviceMeasureApprovalMapper bizBusinessMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); - customTemplateUrls.add(bizBusinessMapper.customTemplateUrl(request.getItemCategoryName().contains("电信号")?"电信号":"压力值", "3", "")); + customTemplateUrls.add(bizBusinessMapper.customTemplateUrl(request.getItemCategoryName().contains("电信号") ? "电信号" : "压力值", "3", "")); //除了选用的模板不一致,模板配置流程是一致的 - String wordUrl = printFileRegister.registerPrintFile(RESISTANCE_CHECK_DATA, request.getItemCategoryName().contains("电信号")?"电信号导出模板":"压力导出模板", + String wordUrl = printFileRegister.registerPrintFile(RESISTANCE_CHECK_DATA, request.getItemCategoryName().contains("电信号") ? "电信号导出模板" : "压力导出模板", null, map, true, null, customTemplateUrls); List urlList = new ArrayList<>(); urlList.add(wordUrl); @@ -95,24 +96,22 @@ public String doCreateOriginalFile(BizBusinessDeviceMeasureApproval measureItemInfo) { //作为分发点 try { - if (CollectionUtil.isEmpty(measureItemInfo.getMeasureDataCalibratorList())) { - List bizBusinessDeviceMeasureDataCalibrators = new ArrayList<>(); - bizBusinessDeviceMeasureDataCalibrators.add(new BizBusinessDeviceMeasureDataCalibrator()); - measureItemInfo.setMeasureDataCalibratorList(bizBusinessDeviceMeasureDataCalibrators); + if (CollectionUtil.isEmpty(measureItemInfo.getMeasureDataPistonGaugeList())) { + List bizBusinessDeviceMeasureDataPistonGaugeList = new ArrayList<>(); + bizBusinessDeviceMeasureDataPistonGaugeList.add(new BizBusinessDeviceMeasureDataPistonGauge()); + measureItemInfo.setMeasureDataPistonGaugeList(bizBusinessDeviceMeasureDataPistonGaugeList); } Map map = BeanUtil.beanToMap(measureItemInfo); List customTemplateUrls = new ArrayList<>(); BizBusinessDeviceMeasureApprovalMapper bizBusinessMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); //准备封面参数 prepareCoverParams(map, measureItemInfo.getLabCode()); + //参数 + customParam(map); + //检定数据 + measuredDataParam(map, measureItemInfo.getMeasureDataPistonGaugeList()); //这一块逻辑比较复杂 customTemplateUrls.add(bizBusinessMapper.customTemplateByCategory("1", measureItemInfo.getItemCategoryId())); - //与证书模板区分 - convertIntToValue(map, "appearance");//外观 - convertIntToValue(map, "pointerDeflectionStability");//绝缘电阻 - convertIntToValue(map, "tightness");//密封性 - convertIntToValue(map, "zeroDriftResult");//零点漂移 - convertIntToValue(map, "pointerDeflectionStability");//零点漂移 map.put("id", snowflakeUtil.nextId()); //除了选用的模板不一致,模板配置流程是一致的 return printFileRegister.registerPrintFile(MEASURE_DATA, "原始记录打印", null, map, true, null, customTemplateUrls); @@ -125,14 +124,17 @@ public List doCreateCertificateFile(BizBusinessDeviceMeasureApproval measureItemInfo) { try { //过滤不能生成证书的 - if (CollectionUtil.isEmpty(measureItemInfo.getMeasureDataCalibratorList())) { - List bizBusinessDeviceMeasureDataCalibrators = new ArrayList<>(); - bizBusinessDeviceMeasureDataCalibrators.add(new BizBusinessDeviceMeasureDataCalibrator()); - measureItemInfo.setMeasureDataCalibratorList(bizBusinessDeviceMeasureDataCalibrators); + if (CollectionUtil.isEmpty(measureItemInfo.getMeasureDataPistonGaugeList())) { + List bizBusinessDeviceMeasureDataPistonGaugeList = new ArrayList<>(); + bizBusinessDeviceMeasureDataPistonGaugeList.add(new BizBusinessDeviceMeasureDataPistonGauge()); + measureItemInfo.setMeasureDataPistonGaugeList(bizBusinessDeviceMeasureDataPistonGaugeList); } + Map map = BeanUtil.beanToMap(measureItemInfo); //准备封面参数 prepareCoverParams(map, measureItemInfo.getLabCode()); + measuredDataParam(map, measureItemInfo.getMeasureDataPistonGaugeList()); + customParam(map); List customTemplateUrls = new ArrayList<>(); BizBusinessDeviceMeasureApprovalMapper bizBusinessMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); customTemplateUrls.add(bizBusinessMapper.customTemplateUrl(MEASURE_DATA, "2", measureItemInfo.getMeasureCategoryName())); @@ -140,11 +142,6 @@ map.put("id", snowflakeUtil.nextId()); map.put("pdfStatus", 1); List urlList = new ArrayList<>(); - convertIntToValue(map, "appearance");//外观 - convertIntToValue(map, "pointerDeflectionStability");//绝缘电阻 - convertIntToValue(map, "tightness");//密封性 - convertIntToValue(map, "zeroDriftResult");//零点漂移 - convertIntToValue(map, "pointerDeflectionStability");//零点漂移 //除了选用的模板不一致,模板配置流程是一致的 String wordUrl = printFileRegister.registerPrintFile(MEASURE_DATA, "证书打印", null, map, false, null, customTemplateUrls); urlList.add(wordUrl); @@ -157,10 +154,30 @@ } } - private void convertIntToValue(Map objectMap, String key) { - if (objectMap.containsKey(key)) { - objectMap.put(key, ((Integer) objectMap.get(key)).equals(1) ? "合格" : "不合格"); - } + + private void measuredDataParam(Map map, List measureDataPistonGaugeList) { + //即示值误差、回程误差、轻敲位移 + List pistonGaugeList = measureDataPistonGaugeList.stream().filter( + e -> "1".equals(e.getDataType()) + ).collect(Collectors.toList()); + map.put("pistonGaugeList", pistonGaugeList); + //设定点 + List setPointGaugeList = measureDataPistonGaugeList.stream().filter( + e -> "2".equals(e.getDataType()) + ).collect(Collectors.toList()); + map.put("setPointGaugeList", setPointGaugeList); + } + + + private void customParam(Map map) { + BizBusinessDeviceMeasureItemConfigPistonGauge pistonGauge = (BizBusinessDeviceMeasureItemConfigPistonGauge) map.get("measureItemConfigPistonGauge"); + map.put("appearance", pistonGauge.getAppearance() ? "合格" : "不合格*");//外观 + map.put("tightness", pistonGauge.getTightness() ? "合格" : "不合格*");//密封性 + map.put("rangeUnit", pistonGauge.getRangeUnit());//密封性 + map.put("insulationResistance", pistonGauge.getInsulationResistance() ? "合格" : "不合格*");//绝缘电阻 + map.put("pointerDeflectionStability", pistonGauge.getPointerDeflectionStability() ? "合格" : "不合格*");//指针偏转平稳性 + map.put("zeroDriftResult", pistonGauge.getTightness() ? "合格" : "不合格*");//零点漂移 + map.put("indicationError", pistonGauge.getIndicationError() ? "合格" : "不合格*");//示值误差、回程误差、轻敲位移 } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java index b63b65c..947c80a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/PrintFileRegister.java @@ -26,7 +26,7 @@ */ @Component @Slf4j -public class PrintFileRegister extends PrintFileSupport implements FilePrintEnum { +public class PrintFileRegister extends PrintFileSupport implements FilePrintEnum { @Autowired private GenericFilePrintProcessor genericFilePrintProcessor; @@ -115,14 +115,14 @@ } catch (RuntimeException rex) { log.error("文件打印出现异常,打印参数信息为{},异常信息为{}", JSON.toJSON(filePrintRegister), rex); } finally { -// //如果文件路径不为空,回传文件流 -// if (StringUtils.isNotEmpty(printDocUrl)) { -// miniName = createResponseFileInput(printDocUrl, response); -// } -// //删除无效的文件 -// File invalidFile = new File(tempLocalFileDir); - //删除运行空间下的文件 -// deleteFile(invalidFile); + //如果文件路径不为空,回传文件流 + if (StringUtils.isNotEmpty(printDocUrl)) { + miniName = createResponseFileInput(printDocUrl, response); + } + //删除无效的文件 + File invalidFile = new File(tempLocalFileDir); + // 删除运行空间下的文件 + deleteFile(invalidFile); log.info("证书打印完成......,证书名称为{}", miniName); } return miniName;