diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java index c3fb38e..c591346 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java @@ -1,12 +1,15 @@ package com.casic.missiles.service.Impl.eqpt.standard.impl; import cn.hutool.core.bean.BeanUtil; +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.BizBusinessDeviceMeasureDataCalibrator; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataElectricalSafety; import com.casic.missiles.model.equipment.BizEquipmentInfo; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataElectricalSafety; @@ -173,19 +176,19 @@ DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); - readyForCoverParams(map,request.getLabCode()); + readyForCoverParams(map, request.getLabCode()); List electricalSafetyList = request.getMeasureDataElectricalSafetyList(); List safetyList = new ArrayList<>(); for (BizBusinessDeviceMeasureDataElectricalSafety electricalSafety : electricalSafetyList) { - BizBusinessDeviceMeasureDataElectricalSafety safety = (BizBusinessDeviceMeasureDataElectricalSafety)BeanUtils.cloneBean(electricalSafety); + BizBusinessDeviceMeasureDataElectricalSafety safety = (BizBusinessDeviceMeasureDataElectricalSafety) BeanUtils.cloneBean(electricalSafety); safety.applyStrategyBasedOnDataType(request.getItemCategoryName()); safetyList.add(safety); } //准备填充参数 prepareParams(safetyList, map); - - replaceSlash(map); + List dataItems = checkParamAddRomveItem(request, 3, map); map.put("pdfStatus", 1); + replaceSlash(map); List templateUrls = new ArrayList<>(); BizBusinessDeviceMeasureApprovalMapper approvalMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); templateUrls.add(approvalMapper.customTemplateUrl(MULTI_ELECTRICAL_SAFETY, "1", request.getItemCategoryName())); @@ -195,7 +198,13 @@ log.debug("original before ----"); //除了选用的模板不一致,模板配置流程是一致的 PrintFileRegister printFileRegister = SpringContextUtil.getBean(PrintFileRegister.class); - String originalWordUrlFile = printFileRegister.registerPrintFile(request.getItemCategoryName(), "原始记录打印", null, map, false, null, templateUrls); + String originalWordUrlFile = printFileRegister.registerPrintFile(request.getItemCategoryName(), "原始记录打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(templateUrls) + .build()); log.debug("originalUrlFile after------------{}", originalWordUrlFile); List urlList = new ArrayList<>(); urlList.add(originalWordUrlFile); @@ -220,43 +229,6 @@ map.put("errorList", errorList); } - /** - * 封面基本信息的定制化参数 - * - * @param map - * @param measureDataElectricalSafetyList - */ - private void prepareCustomCoverParams(Map map, List measureDataElectricalSafetyList) { - //定制参数 - //初始化方框 - map.put("test", "\uF0A3"); - map.put("calibrate", "\uF0A3"); - map.put("measure", "\uF0A3"); - //选择方框 - switch ((String) map.get("measureCategoryName")) { - case TEST_REPORT: - map.put("test", "\uF052"); - break; - case CALIBRATE_REPORT: - map.put("calibrate", "\uF052"); - break; - case MEASURE_REPORT: - map.put("measure", "\uF052"); - break; - default: - return; - } - //填充有效日期 - if (!ObjectUtils.isEmpty(map.get(MEASURE_TRACE_DATE))) { - String traceDate = (String) map.get(MEASURE_TRACE_DATE); - try { - map.put(MEASURE_TRACE_DATE, new SimpleDateFormat("yyyy年MM月dd日").format(new SimpleDateFormat("yyyy-MM-dd").parse(traceDate))); - } catch (Exception e) { - throw new BusinessException(1500, String.format(traceDate, "检定有效日期,格式不正确")); - } - } - } - @Override public List doCreateCertificateFile(BizBusinessDeviceMeasureApproval request) { try { @@ -267,18 +239,18 @@ } DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); - readyForCoverParams(map,request.getLabCode()); + readyForCoverParams(map, request.getLabCode()); List electricalSafetyList = request.getMeasureDataElectricalSafetyList(); List safetyList = new ArrayList<>(); for (BizBusinessDeviceMeasureDataElectricalSafety electricalSafety : electricalSafetyList) { - BizBusinessDeviceMeasureDataElectricalSafety safety = (BizBusinessDeviceMeasureDataElectricalSafety)BeanUtils.cloneBean(electricalSafety); + BizBusinessDeviceMeasureDataElectricalSafety safety = (BizBusinessDeviceMeasureDataElectricalSafety) BeanUtils.cloneBean(electricalSafety); safety.applyStrategyBasedOnDataType(request.getItemCategoryName()); safetyList.add(safety); } //填充参数 prepareParams(safetyList, map); //准备封面参数 - + List dataItems = checkParamAddRomveItem(request, 3, map); replaceSlash(map); List customTemplateUrls = new ArrayList<>(); BizBusinessDeviceMeasureApprovalMapper bizBusinessMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); @@ -305,4 +277,38 @@ throw new BusinessException(BusinessExceptionEnum.MEASURE_APPROVAL_UPDATE_FAILED); } } + + /** + * 检定项不存在,则对该项填充的标题和表格进行删除 + * + * @param measureItemInfo + * @param map + * @return + */ + private List checkParamAddRomveItem(BizBusinessDeviceMeasureApproval measureItemInfo, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int titleIndex = 1; + //外观及功能性检查 和检定项删除无关系 + if (StringUtils.isEmpty(measureItemInfo.getAppearanceFunctionCheck())) { + addDataRemoveItem(dataItems, -1, "外观及功能性检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + //如果是功能校准源,则进行一下删除 + if (measureItemInfo.getItemCategoryName().contains("数字接地电阻表")) { + if (CollectionUtils.isEmpty(measureItemInfo.getMeasureDataCalibratorList())) { + addDataRemoveItem(dataItems, startIndex, measureItemInfo.getItemCategoryName().contains("交流电压") ? "基本误差" : "辅助接地"); + } else { + map.put("firstSeq", (titleIndex++) + "."); + } + } else {//其他检查项 + Map> measureDataMap = measureItemInfo.getMeasureDataCalibratorList().stream().collect( + Collectors.groupingBy(BizBusinessDeviceMeasureDataCalibrator::getParams) + ); + checkRemoveItem(measureDataMap, "ACI", map, "firstSeq", titleIndex, dataItems, startIndex, "开路电压"); + checkRemoveItem(measureDataMap, "ACV", map, "secondSeq", titleIndex, dataItems, startIndex + 1, "示值误差"); + } + return dataItems; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java index c3fb38e..c591346 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java @@ -1,12 +1,15 @@ package com.casic.missiles.service.Impl.eqpt.standard.impl; import cn.hutool.core.bean.BeanUtil; +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.BizBusinessDeviceMeasureDataCalibrator; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataElectricalSafety; import com.casic.missiles.model.equipment.BizEquipmentInfo; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataElectricalSafety; @@ -173,19 +176,19 @@ DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); - readyForCoverParams(map,request.getLabCode()); + readyForCoverParams(map, request.getLabCode()); List electricalSafetyList = request.getMeasureDataElectricalSafetyList(); List safetyList = new ArrayList<>(); for (BizBusinessDeviceMeasureDataElectricalSafety electricalSafety : electricalSafetyList) { - BizBusinessDeviceMeasureDataElectricalSafety safety = (BizBusinessDeviceMeasureDataElectricalSafety)BeanUtils.cloneBean(electricalSafety); + BizBusinessDeviceMeasureDataElectricalSafety safety = (BizBusinessDeviceMeasureDataElectricalSafety) BeanUtils.cloneBean(electricalSafety); safety.applyStrategyBasedOnDataType(request.getItemCategoryName()); safetyList.add(safety); } //准备填充参数 prepareParams(safetyList, map); - - replaceSlash(map); + List dataItems = checkParamAddRomveItem(request, 3, map); map.put("pdfStatus", 1); + replaceSlash(map); List templateUrls = new ArrayList<>(); BizBusinessDeviceMeasureApprovalMapper approvalMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); templateUrls.add(approvalMapper.customTemplateUrl(MULTI_ELECTRICAL_SAFETY, "1", request.getItemCategoryName())); @@ -195,7 +198,13 @@ log.debug("original before ----"); //除了选用的模板不一致,模板配置流程是一致的 PrintFileRegister printFileRegister = SpringContextUtil.getBean(PrintFileRegister.class); - String originalWordUrlFile = printFileRegister.registerPrintFile(request.getItemCategoryName(), "原始记录打印", null, map, false, null, templateUrls); + String originalWordUrlFile = printFileRegister.registerPrintFile(request.getItemCategoryName(), "原始记录打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(templateUrls) + .build()); log.debug("originalUrlFile after------------{}", originalWordUrlFile); List urlList = new ArrayList<>(); urlList.add(originalWordUrlFile); @@ -220,43 +229,6 @@ map.put("errorList", errorList); } - /** - * 封面基本信息的定制化参数 - * - * @param map - * @param measureDataElectricalSafetyList - */ - private void prepareCustomCoverParams(Map map, List measureDataElectricalSafetyList) { - //定制参数 - //初始化方框 - map.put("test", "\uF0A3"); - map.put("calibrate", "\uF0A3"); - map.put("measure", "\uF0A3"); - //选择方框 - switch ((String) map.get("measureCategoryName")) { - case TEST_REPORT: - map.put("test", "\uF052"); - break; - case CALIBRATE_REPORT: - map.put("calibrate", "\uF052"); - break; - case MEASURE_REPORT: - map.put("measure", "\uF052"); - break; - default: - return; - } - //填充有效日期 - if (!ObjectUtils.isEmpty(map.get(MEASURE_TRACE_DATE))) { - String traceDate = (String) map.get(MEASURE_TRACE_DATE); - try { - map.put(MEASURE_TRACE_DATE, new SimpleDateFormat("yyyy年MM月dd日").format(new SimpleDateFormat("yyyy-MM-dd").parse(traceDate))); - } catch (Exception e) { - throw new BusinessException(1500, String.format(traceDate, "检定有效日期,格式不正确")); - } - } - } - @Override public List doCreateCertificateFile(BizBusinessDeviceMeasureApproval request) { try { @@ -267,18 +239,18 @@ } DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); - readyForCoverParams(map,request.getLabCode()); + readyForCoverParams(map, request.getLabCode()); List electricalSafetyList = request.getMeasureDataElectricalSafetyList(); List safetyList = new ArrayList<>(); for (BizBusinessDeviceMeasureDataElectricalSafety electricalSafety : electricalSafetyList) { - BizBusinessDeviceMeasureDataElectricalSafety safety = (BizBusinessDeviceMeasureDataElectricalSafety)BeanUtils.cloneBean(electricalSafety); + BizBusinessDeviceMeasureDataElectricalSafety safety = (BizBusinessDeviceMeasureDataElectricalSafety) BeanUtils.cloneBean(electricalSafety); safety.applyStrategyBasedOnDataType(request.getItemCategoryName()); safetyList.add(safety); } //填充参数 prepareParams(safetyList, map); //准备封面参数 - + List dataItems = checkParamAddRomveItem(request, 3, map); replaceSlash(map); List customTemplateUrls = new ArrayList<>(); BizBusinessDeviceMeasureApprovalMapper bizBusinessMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); @@ -305,4 +277,38 @@ throw new BusinessException(BusinessExceptionEnum.MEASURE_APPROVAL_UPDATE_FAILED); } } + + /** + * 检定项不存在,则对该项填充的标题和表格进行删除 + * + * @param measureItemInfo + * @param map + * @return + */ + private List checkParamAddRomveItem(BizBusinessDeviceMeasureApproval measureItemInfo, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int titleIndex = 1; + //外观及功能性检查 和检定项删除无关系 + if (StringUtils.isEmpty(measureItemInfo.getAppearanceFunctionCheck())) { + addDataRemoveItem(dataItems, -1, "外观及功能性检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + //如果是功能校准源,则进行一下删除 + if (measureItemInfo.getItemCategoryName().contains("数字接地电阻表")) { + if (CollectionUtils.isEmpty(measureItemInfo.getMeasureDataCalibratorList())) { + addDataRemoveItem(dataItems, startIndex, measureItemInfo.getItemCategoryName().contains("交流电压") ? "基本误差" : "辅助接地"); + } else { + map.put("firstSeq", (titleIndex++) + "."); + } + } else {//其他检查项 + Map> measureDataMap = measureItemInfo.getMeasureDataCalibratorList().stream().collect( + Collectors.groupingBy(BizBusinessDeviceMeasureDataCalibrator::getParams) + ); + checkRemoveItem(measureDataMap, "ACI", map, "firstSeq", titleIndex, dataItems, startIndex, "开路电压"); + checkRemoveItem(measureDataMap, "ACV", map, "secondSeq", titleIndex, dataItems, startIndex + 1, "示值误差"); + } + return dataItems; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckRecordApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckRecordApprovalServiceImpl.java index 1b97881..af2d71a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckRecordApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckRecordApprovalServiceImpl.java @@ -47,9 +47,9 @@ wrapper.eq("data_id", request.getDataId()); wrapper.ne("approval_status", ApprovalStatusEnum.FAILED); List existList = this.baseMapper.selectList(wrapper); - if (CollectionUtils.isNotEmpty(existList)) { - throw new BusinessException(BusinessExceptionEnum.CHECK_RECORD_ALREADY_EXIST); - } +// if (CollectionUtils.isNotEmpty(existList)) { +// throw new BusinessException(BusinessExceptionEnum.CHECK_RECORD_ALREADY_EXIST); +// } //生成编号 String labCode = request.getLabCode(); String groupCode = request.getGroupCode(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java index c3fb38e..c591346 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiElectricalHandler.java @@ -1,12 +1,15 @@ package com.casic.missiles.service.Impl.eqpt.standard.impl; import cn.hutool.core.bean.BeanUtil; +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.BizBusinessDeviceMeasureDataCalibrator; import com.casic.missiles.model.business.BizBusinessDeviceMeasureDataElectricalSafety; import com.casic.missiles.model.equipment.BizEquipmentInfo; import com.casic.missiles.model.equipment.BizEquipmentStandardCheckDataElectricalSafety; @@ -173,19 +176,19 @@ DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); - readyForCoverParams(map,request.getLabCode()); + readyForCoverParams(map, request.getLabCode()); List electricalSafetyList = request.getMeasureDataElectricalSafetyList(); List safetyList = new ArrayList<>(); for (BizBusinessDeviceMeasureDataElectricalSafety electricalSafety : electricalSafetyList) { - BizBusinessDeviceMeasureDataElectricalSafety safety = (BizBusinessDeviceMeasureDataElectricalSafety)BeanUtils.cloneBean(electricalSafety); + BizBusinessDeviceMeasureDataElectricalSafety safety = (BizBusinessDeviceMeasureDataElectricalSafety) BeanUtils.cloneBean(electricalSafety); safety.applyStrategyBasedOnDataType(request.getItemCategoryName()); safetyList.add(safety); } //准备填充参数 prepareParams(safetyList, map); - - replaceSlash(map); + List dataItems = checkParamAddRomveItem(request, 3, map); map.put("pdfStatus", 1); + replaceSlash(map); List templateUrls = new ArrayList<>(); BizBusinessDeviceMeasureApprovalMapper approvalMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); templateUrls.add(approvalMapper.customTemplateUrl(MULTI_ELECTRICAL_SAFETY, "1", request.getItemCategoryName())); @@ -195,7 +198,13 @@ log.debug("original before ----"); //除了选用的模板不一致,模板配置流程是一致的 PrintFileRegister printFileRegister = SpringContextUtil.getBean(PrintFileRegister.class); - String originalWordUrlFile = printFileRegister.registerPrintFile(request.getItemCategoryName(), "原始记录打印", null, map, false, null, templateUrls); + String originalWordUrlFile = printFileRegister.registerPrintFile(request.getItemCategoryName(), "原始记录打印", null, + RegisterCustomParameters.builder() + .customParam(map) + .dataItems(dataItems) + .pdf(false) + .customTemplateUrls(templateUrls) + .build()); log.debug("originalUrlFile after------------{}", originalWordUrlFile); List urlList = new ArrayList<>(); urlList.add(originalWordUrlFile); @@ -220,43 +229,6 @@ map.put("errorList", errorList); } - /** - * 封面基本信息的定制化参数 - * - * @param map - * @param measureDataElectricalSafetyList - */ - private void prepareCustomCoverParams(Map map, List measureDataElectricalSafetyList) { - //定制参数 - //初始化方框 - map.put("test", "\uF0A3"); - map.put("calibrate", "\uF0A3"); - map.put("measure", "\uF0A3"); - //选择方框 - switch ((String) map.get("measureCategoryName")) { - case TEST_REPORT: - map.put("test", "\uF052"); - break; - case CALIBRATE_REPORT: - map.put("calibrate", "\uF052"); - break; - case MEASURE_REPORT: - map.put("measure", "\uF052"); - break; - default: - return; - } - //填充有效日期 - if (!ObjectUtils.isEmpty(map.get(MEASURE_TRACE_DATE))) { - String traceDate = (String) map.get(MEASURE_TRACE_DATE); - try { - map.put(MEASURE_TRACE_DATE, new SimpleDateFormat("yyyy年MM月dd日").format(new SimpleDateFormat("yyyy-MM-dd").parse(traceDate))); - } catch (Exception e) { - throw new BusinessException(1500, String.format(traceDate, "检定有效日期,格式不正确")); - } - } - } - @Override public List doCreateCertificateFile(BizBusinessDeviceMeasureApproval request) { try { @@ -267,18 +239,18 @@ } DictCodeUtils.convertDictCodeToName(request); Map map = BeanUtil.beanToMap(request); - readyForCoverParams(map,request.getLabCode()); + readyForCoverParams(map, request.getLabCode()); List electricalSafetyList = request.getMeasureDataElectricalSafetyList(); List safetyList = new ArrayList<>(); for (BizBusinessDeviceMeasureDataElectricalSafety electricalSafety : electricalSafetyList) { - BizBusinessDeviceMeasureDataElectricalSafety safety = (BizBusinessDeviceMeasureDataElectricalSafety)BeanUtils.cloneBean(electricalSafety); + BizBusinessDeviceMeasureDataElectricalSafety safety = (BizBusinessDeviceMeasureDataElectricalSafety) BeanUtils.cloneBean(electricalSafety); safety.applyStrategyBasedOnDataType(request.getItemCategoryName()); safetyList.add(safety); } //填充参数 prepareParams(safetyList, map); //准备封面参数 - + List dataItems = checkParamAddRomveItem(request, 3, map); replaceSlash(map); List customTemplateUrls = new ArrayList<>(); BizBusinessDeviceMeasureApprovalMapper bizBusinessMapper = SpringContextUtil.getBean(BizBusinessDeviceMeasureApprovalMapper.class); @@ -305,4 +277,38 @@ throw new BusinessException(BusinessExceptionEnum.MEASURE_APPROVAL_UPDATE_FAILED); } } + + /** + * 检定项不存在,则对该项填充的标题和表格进行删除 + * + * @param measureItemInfo + * @param map + * @return + */ + private List checkParamAddRomveItem(BizBusinessDeviceMeasureApproval measureItemInfo, int startIndex, Map map) { + List dataItems = new ArrayList<>(); + int titleIndex = 1; + //外观及功能性检查 和检定项删除无关系 + if (StringUtils.isEmpty(measureItemInfo.getAppearanceFunctionCheck())) { + addDataRemoveItem(dataItems, -1, "外观及功能性检查"); + } else { + map.put("zeroSeq", (titleIndex++) + "."); + } + //如果是功能校准源,则进行一下删除 + if (measureItemInfo.getItemCategoryName().contains("数字接地电阻表")) { + if (CollectionUtils.isEmpty(measureItemInfo.getMeasureDataCalibratorList())) { + addDataRemoveItem(dataItems, startIndex, measureItemInfo.getItemCategoryName().contains("交流电压") ? "基本误差" : "辅助接地"); + } else { + map.put("firstSeq", (titleIndex++) + "."); + } + } else {//其他检查项 + Map> measureDataMap = measureItemInfo.getMeasureDataCalibratorList().stream().collect( + Collectors.groupingBy(BizBusinessDeviceMeasureDataCalibrator::getParams) + ); + checkRemoveItem(measureDataMap, "ACI", map, "firstSeq", titleIndex, dataItems, startIndex, "开路电压"); + checkRemoveItem(measureDataMap, "ACV", map, "secondSeq", titleIndex, dataItems, startIndex + 1, "示值误差"); + } + return dataItems; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckRecordApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckRecordApprovalServiceImpl.java index 1b97881..af2d71a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckRecordApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStandardCheckRecordApprovalServiceImpl.java @@ -47,9 +47,9 @@ wrapper.eq("data_id", request.getDataId()); wrapper.ne("approval_status", ApprovalStatusEnum.FAILED); List existList = this.baseMapper.selectList(wrapper); - if (CollectionUtils.isNotEmpty(existList)) { - throw new BusinessException(BusinessExceptionEnum.CHECK_RECORD_ALREADY_EXIST); - } +// if (CollectionUtils.isNotEmpty(existList)) { +// throw new BusinessException(BusinessExceptionEnum.CHECK_RECORD_ALREADY_EXIST); +// } //生成编号 String labCode = request.getLabCode(); String groupCode = request.getGroupCode(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/WordUtil.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/WordUtil.java index 796a2b7..2c751e9 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/WordUtil.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/WordUtil.java @@ -63,8 +63,8 @@ //表格的情况下根据下标进行删除内容 if (currentTableIndex++ == (removeTableItem.getTableIndex() - removeTableItem.getCustomOffset() - 1)) { document.removeBodyElement(tableIndex + paragraphIndex); - paragraphIndex--; tableItemIndex++; + removeSpace(tableIndex,paragraphIndex,document); continue; } } @@ -73,26 +73,10 @@ contentControlIndex++; } } - paragraphIndex--; - //去除后缀的空格 - if ((tableIndex + paragraphIndex) < document.getBodyElements().size() && tableItemIndex >= tableDataItem.size()) { - Boolean emptyFlag = true; - int tempIndex=paragraphIndex; - while ((tableIndex + tempIndex) < document.getBodyElements().size()) { - if (!"PARAGRAPH".equals(document.getBodyElements().get(tableIndex + tempIndex).getElementType().name()) || !"".equals(document.getParagraphs().get(paragraphIndex).getText())) { - emptyFlag = false; - } - tempIndex++; - } - if (emptyFlag) { - while ((tableIndex + paragraphIndex) < document.getBodyElements().size()) { - if ("PARAGRAPH".equals(document.getBodyElements().get(tableIndex + paragraphIndex).getElementType().name()) && "".equals(document.getParagraphs().get(paragraphIndex).getText())) { - document.removeBodyElement(tableIndex + paragraphIndex); - } - paragraphIndex++; - } - } + if (paragraphIndex != 0) { + paragraphIndex--; } + removeSpace(tableIndex,paragraphIndex,document); // 将修改后的文档写入新文件 FileOutputStream out = new FileOutputStream(filePath); document.write(out); @@ -108,6 +92,23 @@ } } + private static void removeSpace(Integer tableIndex, Integer paragraphIndex, org.apache.poi.xwpf.usermodel.XWPFDocument document) { + //去除后缀的空格 + if ((tableIndex + paragraphIndex) < document.getBodyElements().size()) { + while ((tableIndex + paragraphIndex) < document.getBodyElements().size()) { + if ("PARAGRAPH".equals(document.getBodyElements().get(tableIndex + paragraphIndex).getElementType().name()) && + ("".equals(document.getParagraphs().get(paragraphIndex).getText()) + || "\n".equals(document.getParagraphs().get(paragraphIndex).getText()) + )) { + document.removeBodyElement(tableIndex + paragraphIndex); + } else { + break; + } + paragraphIndex++; + } + } + } + /** * 按照模板 填充数据生成word 只支持docx *