diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java index 8a8c6bf..f650daa 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java @@ -95,7 +95,7 @@ @ApiOperation("导出word/pdf/打印") @PostMapping("/exportFile") - public void exportFile(@RequestBody @Valid ExportDTO exportDTO, HttpServletResponse response){ + public void exportFile(@RequestBody @Valid ExportDTO exportDTO, HttpServletResponse response)throws Exception { siteExecutiveLogService.exportFile(exportDTO,response); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java index 8a8c6bf..f650daa 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java @@ -95,7 +95,7 @@ @ApiOperation("导出word/pdf/打印") @PostMapping("/exportFile") - public void exportFile(@RequestBody @Valid ExportDTO exportDTO, HttpServletResponse response){ + public void exportFile(@RequestBody @Valid ExportDTO exportDTO, HttpServletResponse response)throws Exception { siteExecutiveLogService.exportFile(exportDTO,response); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java index 8d2c110..7e5fad8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java @@ -2,8 +2,6 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.dto.ExportDTO; @@ -15,7 +13,6 @@ import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.NoGenerateFileCodeEnum; import com.casic.missiles.enums.NoGenerateRecordTypeCodeEnum; -import com.casic.missiles.enums.PrintFileModuleNameEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BizBusinessSiteExecutiveInfoMapper; import com.casic.missiles.mapper.business.BizBusinessSiteExecutiveLogMapper; @@ -36,6 +33,7 @@ import org.springframework.util.CollectionUtils; import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; @@ -142,21 +140,25 @@ } @Override - public void exportFile(ExportDTO exportDTO, HttpServletResponse response) { + public void exportFile(ExportDTO exportDTO, HttpServletResponse response) throws Exception { BizBusinessSiteExecutiveLog siteExecutiveLog = this.baseMapper.selectById(exportDTO.getId()); - if (ObjectUtil.isNotEmpty(siteExecutiveLog)) { - //关联设备列表 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(BizBusinessSiteExecutiveEquipmentRelation::getSiteExecutiveLogId, siteExecutiveLog.getSiteExecutiveId()); - List equipmentRelationList = siteExecutiveEquipmentRelationService.list(queryWrapper); - if (CollectionUtils.isEmpty(equipmentRelationList)) { - throw new BusinessException(BusinessExceptionEnum.EQUIPMENT_RELATION_LIST_IS_NULL); - } - siteExecutiveLog.setSiteExecutiveEquipmentRelationList(equipmentRelationList); - Map map = BeanUtil.beanToMap(siteExecutiveLog); - //todo 模板未确定 - printFileRegister.registerPrintFile(BUSINESS_SITE_EXECUTIVE_LOG, EXPORT_TEMPLATE, null, map, exportDTO.isPdf(), response); + if (Objects.isNull(siteExecutiveLog)) { + return; } + SiteExecutiveLogDetailResponse logDetail = ConvertUtils.sourceToTarget(siteExecutiveLog, SiteExecutiveLogDetailResponse.class); + doPopulateSiteExecutiveDetail(siteExecutiveLog, logDetail); + //关联的仪器设备 + List siteExecutiveEquipments = siteExecutiveEquipmentRelationService.getEquipmentsByExecutiveLogId(exportDTO.getId()); + Map map = BeanUtil.beanToMap(logDetail); + map.put("id", exportDTO.getId()); + List list = new ArrayList<>(); + for (BizBusinessSiteExecutiveEquipmentRelation relation : siteExecutiveEquipments) { + Map logDetailRelation = BeanUtil.beanToMap(relation); + list.add(logDetailRelation); + } + map.put("siteEquipments", list); + //todo 模板未确定 + printFileRegister.registerPrintFile(BUSINESS_SITE_EXECUTIVE_LOG, EXPORT_TEMPLATE, null, map, exportDTO.isPdf(), response); } private void deletePrintFile(String printFileName) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java index 8a8c6bf..f650daa 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java @@ -95,7 +95,7 @@ @ApiOperation("导出word/pdf/打印") @PostMapping("/exportFile") - public void exportFile(@RequestBody @Valid ExportDTO exportDTO, HttpServletResponse response){ + public void exportFile(@RequestBody @Valid ExportDTO exportDTO, HttpServletResponse response)throws Exception { siteExecutiveLogService.exportFile(exportDTO,response); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java index 8d2c110..7e5fad8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java @@ -2,8 +2,6 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.dto.ExportDTO; @@ -15,7 +13,6 @@ import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.NoGenerateFileCodeEnum; import com.casic.missiles.enums.NoGenerateRecordTypeCodeEnum; -import com.casic.missiles.enums.PrintFileModuleNameEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BizBusinessSiteExecutiveInfoMapper; import com.casic.missiles.mapper.business.BizBusinessSiteExecutiveLogMapper; @@ -36,6 +33,7 @@ import org.springframework.util.CollectionUtils; import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; @@ -142,21 +140,25 @@ } @Override - public void exportFile(ExportDTO exportDTO, HttpServletResponse response) { + public void exportFile(ExportDTO exportDTO, HttpServletResponse response) throws Exception { BizBusinessSiteExecutiveLog siteExecutiveLog = this.baseMapper.selectById(exportDTO.getId()); - if (ObjectUtil.isNotEmpty(siteExecutiveLog)) { - //关联设备列表 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(BizBusinessSiteExecutiveEquipmentRelation::getSiteExecutiveLogId, siteExecutiveLog.getSiteExecutiveId()); - List equipmentRelationList = siteExecutiveEquipmentRelationService.list(queryWrapper); - if (CollectionUtils.isEmpty(equipmentRelationList)) { - throw new BusinessException(BusinessExceptionEnum.EQUIPMENT_RELATION_LIST_IS_NULL); - } - siteExecutiveLog.setSiteExecutiveEquipmentRelationList(equipmentRelationList); - Map map = BeanUtil.beanToMap(siteExecutiveLog); - //todo 模板未确定 - printFileRegister.registerPrintFile(BUSINESS_SITE_EXECUTIVE_LOG, EXPORT_TEMPLATE, null, map, exportDTO.isPdf(), response); + if (Objects.isNull(siteExecutiveLog)) { + return; } + SiteExecutiveLogDetailResponse logDetail = ConvertUtils.sourceToTarget(siteExecutiveLog, SiteExecutiveLogDetailResponse.class); + doPopulateSiteExecutiveDetail(siteExecutiveLog, logDetail); + //关联的仪器设备 + List siteExecutiveEquipments = siteExecutiveEquipmentRelationService.getEquipmentsByExecutiveLogId(exportDTO.getId()); + Map map = BeanUtil.beanToMap(logDetail); + map.put("id", exportDTO.getId()); + List list = new ArrayList<>(); + for (BizBusinessSiteExecutiveEquipmentRelation relation : siteExecutiveEquipments) { + Map logDetailRelation = BeanUtil.beanToMap(relation); + list.add(logDetailRelation); + } + map.put("siteEquipments", list); + //todo 模板未确定 + printFileRegister.registerPrintFile(BUSINESS_SITE_EXECUTIVE_LOG, EXPORT_TEMPLATE, null, map, exportDTO.isPdf(), response); } private void deletePrintFile(String printFileName) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java index a945f1b..6c2e290 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java @@ -27,6 +27,8 @@ } map.put("technologyFileList", StringUtils.isEmpty(technologyFiles) ? "" : technologyFiles); } + map.put("surveyor","{{@surveyor}}"); + map.put("auditor","{{@auditor}}"); //新增对检定地点的转换,如果找不到该地点,则显示为空 // String measureAddress = bizBusinessMapper.getMeasureAddress(request.getMeasureAddress()); // request.setMeasureAddress(StringUtils.isNoneEmpty(measureAddress) ? measureAddress : ""); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java index 8a8c6bf..f650daa 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java @@ -95,7 +95,7 @@ @ApiOperation("导出word/pdf/打印") @PostMapping("/exportFile") - public void exportFile(@RequestBody @Valid ExportDTO exportDTO, HttpServletResponse response){ + public void exportFile(@RequestBody @Valid ExportDTO exportDTO, HttpServletResponse response)throws Exception { siteExecutiveLogService.exportFile(exportDTO,response); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java index 8d2c110..7e5fad8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java @@ -2,8 +2,6 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.dto.ExportDTO; @@ -15,7 +13,6 @@ import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.NoGenerateFileCodeEnum; import com.casic.missiles.enums.NoGenerateRecordTypeCodeEnum; -import com.casic.missiles.enums.PrintFileModuleNameEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BizBusinessSiteExecutiveInfoMapper; import com.casic.missiles.mapper.business.BizBusinessSiteExecutiveLogMapper; @@ -36,6 +33,7 @@ import org.springframework.util.CollectionUtils; import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; @@ -142,21 +140,25 @@ } @Override - public void exportFile(ExportDTO exportDTO, HttpServletResponse response) { + public void exportFile(ExportDTO exportDTO, HttpServletResponse response) throws Exception { BizBusinessSiteExecutiveLog siteExecutiveLog = this.baseMapper.selectById(exportDTO.getId()); - if (ObjectUtil.isNotEmpty(siteExecutiveLog)) { - //关联设备列表 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(BizBusinessSiteExecutiveEquipmentRelation::getSiteExecutiveLogId, siteExecutiveLog.getSiteExecutiveId()); - List equipmentRelationList = siteExecutiveEquipmentRelationService.list(queryWrapper); - if (CollectionUtils.isEmpty(equipmentRelationList)) { - throw new BusinessException(BusinessExceptionEnum.EQUIPMENT_RELATION_LIST_IS_NULL); - } - siteExecutiveLog.setSiteExecutiveEquipmentRelationList(equipmentRelationList); - Map map = BeanUtil.beanToMap(siteExecutiveLog); - //todo 模板未确定 - printFileRegister.registerPrintFile(BUSINESS_SITE_EXECUTIVE_LOG, EXPORT_TEMPLATE, null, map, exportDTO.isPdf(), response); + if (Objects.isNull(siteExecutiveLog)) { + return; } + SiteExecutiveLogDetailResponse logDetail = ConvertUtils.sourceToTarget(siteExecutiveLog, SiteExecutiveLogDetailResponse.class); + doPopulateSiteExecutiveDetail(siteExecutiveLog, logDetail); + //关联的仪器设备 + List siteExecutiveEquipments = siteExecutiveEquipmentRelationService.getEquipmentsByExecutiveLogId(exportDTO.getId()); + Map map = BeanUtil.beanToMap(logDetail); + map.put("id", exportDTO.getId()); + List list = new ArrayList<>(); + for (BizBusinessSiteExecutiveEquipmentRelation relation : siteExecutiveEquipments) { + Map logDetailRelation = BeanUtil.beanToMap(relation); + list.add(logDetailRelation); + } + map.put("siteEquipments", list); + //todo 模板未确定 + printFileRegister.registerPrintFile(BUSINESS_SITE_EXECUTIVE_LOG, EXPORT_TEMPLATE, null, map, exportDTO.isPdf(), response); } private void deletePrintFile(String printFileName) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java index a945f1b..6c2e290 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java @@ -27,6 +27,8 @@ } map.put("technologyFileList", StringUtils.isEmpty(technologyFiles) ? "" : technologyFiles); } + map.put("surveyor","{{@surveyor}}"); + map.put("auditor","{{@auditor}}"); //新增对检定地点的转换,如果找不到该地点,则显示为空 // String measureAddress = bizBusinessMapper.getMeasureAddress(request.getMeasureAddress()); // request.setMeasureAddress(StringUtils.isNoneEmpty(measureAddress) ? measureAddress : ""); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java index 453d749..22a1ee3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java @@ -252,8 +252,6 @@ map.put("test", "\uF0A3"); map.put("calibrate", "\uF0A3"); map.put("measure", "\uF0A3"); - map.put("surveyor","{{@surveyor}}"); - map.put("auditor","{{@auditor}}"); //选择方框 switch ((String) map.get("measureCategoryName")) { case TEST_REPORT: diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java index 8a8c6bf..f650daa 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java @@ -95,7 +95,7 @@ @ApiOperation("导出word/pdf/打印") @PostMapping("/exportFile") - public void exportFile(@RequestBody @Valid ExportDTO exportDTO, HttpServletResponse response){ + public void exportFile(@RequestBody @Valid ExportDTO exportDTO, HttpServletResponse response)throws Exception { siteExecutiveLogService.exportFile(exportDTO,response); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java index 8d2c110..7e5fad8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java @@ -2,8 +2,6 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.dto.ExportDTO; @@ -15,7 +13,6 @@ import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.NoGenerateFileCodeEnum; import com.casic.missiles.enums.NoGenerateRecordTypeCodeEnum; -import com.casic.missiles.enums.PrintFileModuleNameEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BizBusinessSiteExecutiveInfoMapper; import com.casic.missiles.mapper.business.BizBusinessSiteExecutiveLogMapper; @@ -36,6 +33,7 @@ import org.springframework.util.CollectionUtils; import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; @@ -142,21 +140,25 @@ } @Override - public void exportFile(ExportDTO exportDTO, HttpServletResponse response) { + public void exportFile(ExportDTO exportDTO, HttpServletResponse response) throws Exception { BizBusinessSiteExecutiveLog siteExecutiveLog = this.baseMapper.selectById(exportDTO.getId()); - if (ObjectUtil.isNotEmpty(siteExecutiveLog)) { - //关联设备列表 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(BizBusinessSiteExecutiveEquipmentRelation::getSiteExecutiveLogId, siteExecutiveLog.getSiteExecutiveId()); - List equipmentRelationList = siteExecutiveEquipmentRelationService.list(queryWrapper); - if (CollectionUtils.isEmpty(equipmentRelationList)) { - throw new BusinessException(BusinessExceptionEnum.EQUIPMENT_RELATION_LIST_IS_NULL); - } - siteExecutiveLog.setSiteExecutiveEquipmentRelationList(equipmentRelationList); - Map map = BeanUtil.beanToMap(siteExecutiveLog); - //todo 模板未确定 - printFileRegister.registerPrintFile(BUSINESS_SITE_EXECUTIVE_LOG, EXPORT_TEMPLATE, null, map, exportDTO.isPdf(), response); + if (Objects.isNull(siteExecutiveLog)) { + return; } + SiteExecutiveLogDetailResponse logDetail = ConvertUtils.sourceToTarget(siteExecutiveLog, SiteExecutiveLogDetailResponse.class); + doPopulateSiteExecutiveDetail(siteExecutiveLog, logDetail); + //关联的仪器设备 + List siteExecutiveEquipments = siteExecutiveEquipmentRelationService.getEquipmentsByExecutiveLogId(exportDTO.getId()); + Map map = BeanUtil.beanToMap(logDetail); + map.put("id", exportDTO.getId()); + List list = new ArrayList<>(); + for (BizBusinessSiteExecutiveEquipmentRelation relation : siteExecutiveEquipments) { + Map logDetailRelation = BeanUtil.beanToMap(relation); + list.add(logDetailRelation); + } + map.put("siteEquipments", list); + //todo 模板未确定 + printFileRegister.registerPrintFile(BUSINESS_SITE_EXECUTIVE_LOG, EXPORT_TEMPLATE, null, map, exportDTO.isPdf(), response); } private void deletePrintFile(String printFileName) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java index a945f1b..6c2e290 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java @@ -27,6 +27,8 @@ } map.put("technologyFileList", StringUtils.isEmpty(technologyFiles) ? "" : technologyFiles); } + map.put("surveyor","{{@surveyor}}"); + map.put("auditor","{{@auditor}}"); //新增对检定地点的转换,如果找不到该地点,则显示为空 // String measureAddress = bizBusinessMapper.getMeasureAddress(request.getMeasureAddress()); // request.setMeasureAddress(StringUtils.isNoneEmpty(measureAddress) ? measureAddress : ""); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java index 453d749..22a1ee3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java @@ -252,8 +252,6 @@ map.put("test", "\uF0A3"); map.put("calibrate", "\uF0A3"); map.put("measure", "\uF0A3"); - map.put("surveyor","{{@surveyor}}"); - map.put("auditor","{{@auditor}}"); //选择方框 switch ((String) map.get("measureCategoryName")) { case TEST_REPORT: diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessSiteExecutiveLogService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessSiteExecutiveLogService.java index 041b118..2e96618 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessSiteExecutiveLogService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessSiteExecutiveLogService.java @@ -34,5 +34,5 @@ ReturnDTO batchDelete(List ids); - void exportFile(ExportDTO exportDTO, HttpServletResponse response); + void exportFile(ExportDTO exportDTO, HttpServletResponse response) throws Exception ; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java index 8a8c6bf..f650daa 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BizBusinessSiteExecutiveLogController.java @@ -95,7 +95,7 @@ @ApiOperation("导出word/pdf/打印") @PostMapping("/exportFile") - public void exportFile(@RequestBody @Valid ExportDTO exportDTO, HttpServletResponse response){ + public void exportFile(@RequestBody @Valid ExportDTO exportDTO, HttpServletResponse response)throws Exception { siteExecutiveLogService.exportFile(exportDTO,response); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java index 8d2c110..7e5fad8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BizBusinessSiteExecutiveLogServiceImpl.java @@ -2,8 +2,6 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.dto.ExportDTO; @@ -15,7 +13,6 @@ import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.NoGenerateFileCodeEnum; import com.casic.missiles.enums.NoGenerateRecordTypeCodeEnum; -import com.casic.missiles.enums.PrintFileModuleNameEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BizBusinessSiteExecutiveInfoMapper; import com.casic.missiles.mapper.business.BizBusinessSiteExecutiveLogMapper; @@ -36,6 +33,7 @@ import org.springframework.util.CollectionUtils; import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; @@ -142,21 +140,25 @@ } @Override - public void exportFile(ExportDTO exportDTO, HttpServletResponse response) { + public void exportFile(ExportDTO exportDTO, HttpServletResponse response) throws Exception { BizBusinessSiteExecutiveLog siteExecutiveLog = this.baseMapper.selectById(exportDTO.getId()); - if (ObjectUtil.isNotEmpty(siteExecutiveLog)) { - //关联设备列表 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(BizBusinessSiteExecutiveEquipmentRelation::getSiteExecutiveLogId, siteExecutiveLog.getSiteExecutiveId()); - List equipmentRelationList = siteExecutiveEquipmentRelationService.list(queryWrapper); - if (CollectionUtils.isEmpty(equipmentRelationList)) { - throw new BusinessException(BusinessExceptionEnum.EQUIPMENT_RELATION_LIST_IS_NULL); - } - siteExecutiveLog.setSiteExecutiveEquipmentRelationList(equipmentRelationList); - Map map = BeanUtil.beanToMap(siteExecutiveLog); - //todo 模板未确定 - printFileRegister.registerPrintFile(BUSINESS_SITE_EXECUTIVE_LOG, EXPORT_TEMPLATE, null, map, exportDTO.isPdf(), response); + if (Objects.isNull(siteExecutiveLog)) { + return; } + SiteExecutiveLogDetailResponse logDetail = ConvertUtils.sourceToTarget(siteExecutiveLog, SiteExecutiveLogDetailResponse.class); + doPopulateSiteExecutiveDetail(siteExecutiveLog, logDetail); + //关联的仪器设备 + List siteExecutiveEquipments = siteExecutiveEquipmentRelationService.getEquipmentsByExecutiveLogId(exportDTO.getId()); + Map map = BeanUtil.beanToMap(logDetail); + map.put("id", exportDTO.getId()); + List list = new ArrayList<>(); + for (BizBusinessSiteExecutiveEquipmentRelation relation : siteExecutiveEquipments) { + Map logDetailRelation = BeanUtil.beanToMap(relation); + list.add(logDetailRelation); + } + map.put("siteEquipments", list); + //todo 模板未确定 + printFileRegister.registerPrintFile(BUSINESS_SITE_EXECUTIVE_LOG, EXPORT_TEMPLATE, null, map, exportDTO.isPdf(), response); } private void deletePrintFile(String printFileName) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java index a945f1b..6c2e290 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/StandardEquipmentSupport.java @@ -27,6 +27,8 @@ } map.put("technologyFileList", StringUtils.isEmpty(technologyFiles) ? "" : technologyFiles); } + map.put("surveyor","{{@surveyor}}"); + map.put("auditor","{{@auditor}}"); //新增对检定地点的转换,如果找不到该地点,则显示为空 // String measureAddress = bizBusinessMapper.getMeasureAddress(request.getMeasureAddress()); // request.setMeasureAddress(StringUtils.isNoneEmpty(measureAddress) ? measureAddress : ""); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java index 453d749..22a1ee3 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/eqpt/standard/impl/MultiCalibrationHandler.java @@ -252,8 +252,6 @@ map.put("test", "\uF0A3"); map.put("calibrate", "\uF0A3"); map.put("measure", "\uF0A3"); - map.put("surveyor","{{@surveyor}}"); - map.put("auditor","{{@auditor}}"); //选择方框 switch ((String) map.get("measureCategoryName")) { case TEST_REPORT: diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessSiteExecutiveLogService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessSiteExecutiveLogService.java index 041b118..2e96618 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessSiteExecutiveLogService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBizBusinessSiteExecutiveLogService.java @@ -34,5 +34,5 @@ ReturnDTO batchDelete(List ids); - void exportFile(ExportDTO exportDTO, HttpServletResponse response); + void exportFile(ExportDTO exportDTO, HttpServletResponse response) throws Exception ; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/ParseWord07.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/ParseWord07.java index fc1b5e3..bc6d070 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/ParseWord07.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/register/util/ParseWord07.java @@ -9,6 +9,7 @@ import cn.afterturn.easypoi.word.parse.excel.ExcelMapParse; import cn.hutool.core.collection.CollectionUtil; import liquibase.pro.packaged.A; +import liquibase.pro.packaged.C; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.xwpf.usermodel.*; @@ -126,29 +127,36 @@ //先执行预匹配,获取最大的长度,在进行之下的扩容 private Boolean checkThisTableCellIterator(List cells, XWPFTable table, - Map map, int row, Integer maxExpansionLength, Integer differExpansionLength) throws Exception { + Map map) throws Exception { + Integer differExpansionLength = 0; int cellIndex = 0; + //获取当前#fe所在的列数 while (cellIndex < cells.size()) { String text = cells.get(cellIndex).getText().trim(); if (text != null && text.contains("#fe:") && text.startsWith("{{")) { + text = text.replace("#fe:", "").replace("{{", "").replace("}}", ""); + String[] keys = text.replaceAll("\\s{1,}", " ").trim().split(" "); + Object result = PoiPublicUtil.getParamsValue(keys[0], map); + differExpansionLength = ((List) result).size(); break; } cellIndex++; } - int currentIndex = cells.size() - 1; - //涉及扩容 - while (cells.size() - currentIndex < differExpansionLength) { - cells.get(0).getTableRow().createCell(); - } - //合并,且去除合并包含都是一列的情况 - if (currentIndex + 1 < (maxExpansionLength - differExpansionLength)) { - //列合并 - mergeCellsHorizontal(cells, currentIndex, currentIndex + differExpansionLength - 1); - } - if (cellIndex >= currentIndex) { + String text = ""; + if (cellIndex < cells.size()) { + //如果查询不到#fe则进行退去匹配 + text = cells.get(cellIndex).getText().trim(); + if (StringUtils.isEmpty(text) || !text.contains("#fe:") || !text.startsWith("{{")) { + return false; + } + } else { return false; } - String text = cells.get(cellIndex).getText().trim(); + //涉及扩容,是否满足可以使用的行列 + while (cells.size() - cellIndex < differExpansionLength) { + cells.get(0).getTableRow().createCell(); + } + text = cells.get(cellIndex).getText().trim(); return parseNextColAndAddCol(cells, text, cellIndex, map, table); } @@ -261,6 +269,7 @@ /** * 如果是两行标题进行合并列,则进行预处理匹配,匹配到第二列的情况+加上空行的情况,目前暂时只支持两行的标题情况 + * * @param positionIndex 位置索引 * @param table * @param mergeColNames 合并表头参数 @@ -285,7 +294,7 @@ //合并两行的存在 if (i < positionIndex) { Integer mergerIndex = 0; - List cells = table.getRow(i+1).getTableCells(); + List cells = table.getRow(i + 1).getTableCells(); for (int j = 0; j < cells.size(); ) { //获取当前所在行为空, if (StringUtils.isNotEmpty(cells.get(j).getText())) { @@ -293,7 +302,8 @@ mergeIndexList.add(j); break; } - while (++j < cells.size() && StringUtils.isNotEmpty(cells.get(j).getText())){} + while (++j < cells.size() && StringUtils.isNotEmpty(cells.get(j).getText())) { + } } else { //每次为空行比较一下 j++; @@ -334,7 +344,12 @@ } - public void mergeCellsHorizontal(List cells, int fromCell, int toCell) { + /** + * @param cells 当前列参数 + * @param fromCell 开始列下标 + * @param toCell 截止列下标 + */ + private void mergeCellsHorizontal(List cells, int fromCell, int toCell) { for (int cellIndex = fromCell; cellIndex <= toCell; cellIndex++) { XWPFTableCell cell = cells.get(cellIndex); if (cellIndex == fromCell) { @@ -441,15 +456,19 @@ private void parseThisTable(XWPFTable table, Map map, List mergeColNames) throws Exception { //默认为当前单元格的长度 - Integer maxExpansionLength = tryMatchMaxLength(table, map); - Integer differExpansionLength = maxExpansionLength - table.getRow(0).getTableCells().size(); +// Integer maxExpansionLength = tryMatchMaxLength(table, map); + //当前表格要占用的长度 +// Integer differExpansionLength = maxExpansionLength - table.getRow(0).getTableCells().size(); //执行匹配,进行行列扩展 for (int i = 0; i < table.getNumberOfRows(); ++i) { XWPFTableRow row = table.getRow(i); List cells = row.getTableCells(); //增加对该行列循环填充参数的添加 - checkThisTableCellIterator(cells, table, map, i, maxExpansionLength, differExpansionLength); - //检测该行的首个字母是否是 + Boolean colFillIn = checkThisTableCellIterator(cells, table, map); + if (colFillIn) { + continue; + } + //检测该行的首个字母是否是包含表格中表 Object listObj = this.checkThisTableIsNeedIterator(cells.get(0), map, mergeColNames); if (listObj == null) { this.parseThisRow(cells, map);