diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java index 02e21d0..a713c24 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java @@ -3,6 +3,7 @@ import com.casic.missiles.controller.GeneralApprovalController; import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.BaseDetailRequest; +import com.casic.missiles.dto.ExportDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.equipment.EquipmentStatusApprovalListRequest; import com.casic.missiles.dto.equipment.EquipmentStatusApprovalListResponse; @@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; /** @@ -52,4 +54,10 @@ return equipmentStatusService.detail(request); } + @ApiOperation("导出word/pdf/打印") + @PostMapping("/exportFile") + public void exportFile(@RequestBody @Valid ExportDTO exportDTO, HttpServletResponse response) throws Exception { + equipmentStatusService.exportFile(exportDTO, response); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java index 02e21d0..a713c24 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java @@ -3,6 +3,7 @@ import com.casic.missiles.controller.GeneralApprovalController; import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.BaseDetailRequest; +import com.casic.missiles.dto.ExportDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.equipment.EquipmentStatusApprovalListRequest; import com.casic.missiles.dto.equipment.EquipmentStatusApprovalListResponse; @@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; /** @@ -52,4 +54,10 @@ return equipmentStatusService.detail(request); } + @ApiOperation("导出word/pdf/打印") + @PostMapping("/exportFile") + public void exportFile(@RequestBody @Valid ExportDTO exportDTO, HttpServletResponse response) throws Exception { + equipmentStatusService.exportFile(exportDTO, response); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index 5b23d73..155c224 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -43,6 +43,8 @@ STANDARD_BUILD_SAVE_FAILED(2411, "标准建立保存至草稿箱失败"), CHECK_APPROVAL_SAVE_FAILED(2412, "核查记录审批保存至草稿箱失败"), + EQUIPMENT_INFO_NOT_EXIST(2413, "设备台账不存在"), + /** * 资源管理模块 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java index 02e21d0..a713c24 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java @@ -3,6 +3,7 @@ import com.casic.missiles.controller.GeneralApprovalController; import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.BaseDetailRequest; +import com.casic.missiles.dto.ExportDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.equipment.EquipmentStatusApprovalListRequest; import com.casic.missiles.dto.equipment.EquipmentStatusApprovalListResponse; @@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; /** @@ -52,4 +54,10 @@ return equipmentStatusService.detail(request); } + @ApiOperation("导出word/pdf/打印") + @PostMapping("/exportFile") + public void exportFile(@RequestBody @Valid ExportDTO exportDTO, HttpServletResponse response) throws Exception { + equipmentStatusService.exportFile(exportDTO, response); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index 5b23d73..155c224 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -43,6 +43,8 @@ STANDARD_BUILD_SAVE_FAILED(2411, "标准建立保存至草稿箱失败"), CHECK_APPROVAL_SAVE_FAILED(2412, "核查记录审批保存至草稿箱失败"), + EQUIPMENT_INFO_NOT_EXIST(2413, "设备台账不存在"), + /** * 资源管理模块 */ 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 19ebf41..89cfae2 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 @@ -103,6 +103,8 @@ String UNPACKING_ACCEPTANCE = "开箱验收管理"; String EQUIPMENT_LEND = "设备借出管理"; String EQUIPMENT_BORROWING = "设备借用管理"; + String EQUIPMENT_STATUS_ENABLE = "设备启封登记表"; + String EQUIPMENT_STATUS_UNABLE = "设备封存登记表"; String EQUIPMENT_PACKING = "设备运输装箱管理"; String EQUIPMENT_TRANSPORTATION_PROCESS = "设备运输过程管理"; String EXCEPTION_HANDLING = "异常情况处置处理"; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java index 02e21d0..a713c24 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java @@ -3,6 +3,7 @@ import com.casic.missiles.controller.GeneralApprovalController; import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.BaseDetailRequest; +import com.casic.missiles.dto.ExportDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.equipment.EquipmentStatusApprovalListRequest; import com.casic.missiles.dto.equipment.EquipmentStatusApprovalListResponse; @@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; /** @@ -52,4 +54,10 @@ return equipmentStatusService.detail(request); } + @ApiOperation("导出word/pdf/打印") + @PostMapping("/exportFile") + public void exportFile(@RequestBody @Valid ExportDTO exportDTO, HttpServletResponse response) throws Exception { + equipmentStatusService.exportFile(exportDTO, response); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index 5b23d73..155c224 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -43,6 +43,8 @@ STANDARD_BUILD_SAVE_FAILED(2411, "标准建立保存至草稿箱失败"), CHECK_APPROVAL_SAVE_FAILED(2412, "核查记录审批保存至草稿箱失败"), + EQUIPMENT_INFO_NOT_EXIST(2413, "设备台账不存在"), + /** * 资源管理模块 */ 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 19ebf41..89cfae2 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 @@ -103,6 +103,8 @@ String UNPACKING_ACCEPTANCE = "开箱验收管理"; String EQUIPMENT_LEND = "设备借出管理"; String EQUIPMENT_BORROWING = "设备借用管理"; + String EQUIPMENT_STATUS_ENABLE = "设备启封登记表"; + String EQUIPMENT_STATUS_UNABLE = "设备封存登记表"; String EQUIPMENT_PACKING = "设备运输装箱管理"; String EQUIPMENT_TRANSPORTATION_PROCESS = "设备运输过程管理"; String EXCEPTION_HANDLING = "异常情况处置处理"; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStatusServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStatusServiceImpl.java index 51a3371..163e8ef 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStatusServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStatusServiceImpl.java @@ -1,16 +1,16 @@ package com.casic.missiles.service.Impl.equipment; +import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.casic.missiles.dto.BaseApprovalSubmitRequest; -import com.casic.missiles.dto.BaseDetailRequest; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.*; import com.casic.missiles.dto.equipment.EquipmentStatusApprovalListRequest; import com.casic.missiles.dto.equipment.EquipmentStatusApprovalListResponse; import com.casic.missiles.dto.equipment.EquipmentStatusDetailResponse; import com.casic.missiles.dto.equipment.EquipmentStatusSaveResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.PrintFileModuleNameEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.BizEquipmentAttachmentMapper; @@ -23,13 +23,23 @@ import com.casic.missiles.model.equipment.BizEquipmentTechnicalTarget; import com.casic.missiles.service.Impl.GeneralApprovalServiceImpl; import com.casic.missiles.service.equipment.IBizEquipmentStatusService; +import com.casic.missiles.service.listeners.register.PrintFileRegister; import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +import static com.casic.missiles.enums.PrintFileModuleNameEnum.*; /** *

@@ -47,6 +57,8 @@ private BizEquipmentAttachmentMapper attachmentMapper; @Autowired private BizEquipmentInfoMapper equipmentInfoMapper; + @Autowired + PrintFileRegister printFileRegister; @Override public ReturnDTO saveEquipmentStatus(BizEquipmentStatus request) { @@ -56,7 +68,7 @@ request.setCreateUserId(request.getUserId()); request.setCreateUserName(request.getUserName()); request.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 - if(this.baseMapper.insert(request) > 0){ + if (this.baseMapper.insert(request) > 0) { EquipmentStatusSaveResponse response = new EquipmentStatusSaveResponse(); response.setId(request.getId()); response.setApprovalNo(request.getApprovalNo()); @@ -97,5 +109,64 @@ return ReturnUtil.success(response); } + @Override + public void exportFile(ExportDTO exportDTO, HttpServletResponse response) throws Exception { + //基本信息 + BizEquipmentStatus bizEquipmentStatus = this.baseMapper.selectById(exportDTO.getId()); + //技术指标、主附件信息 + QueryWrapper targetWrapper = new QueryWrapper<>(); + BizEquipmentInfo equipmentInfo = equipmentInfoMapper.selectById(bizEquipmentStatus.getEquipmentId()); + if (ObjectUtils.isEmpty(equipmentInfo)) { + throw new BusinessException(BusinessExceptionEnum.EQUIPMENT_INFO_NOT_EXIST); + } + targetWrapper.eq("equipment_no", equipmentInfo.getEquipmentNo()); + List targetList = technicalTargetMapper.selectList(targetWrapper); + QueryWrapper attachmentWrapper = new QueryWrapper<>(); + attachmentWrapper.eq("equipment_no", equipmentInfo.getEquipmentNo()); + List attachmentList = attachmentMapper.selectList(attachmentWrapper); + EquipmentStatusDetailResponse statusDetail = ConvertUtils.sourceToTarget(bizEquipmentStatus, EquipmentStatusDetailResponse.class); + statusDetail.setEquipmentNo(equipmentInfo.getEquipmentNo()); + statusDetail.setEquipmentName(equipmentInfo.getEquipmentName()); + statusDetail.setManufactureNo(equipmentInfo.getManufactureNo()); + statusDetail.setManufacturer(equipmentInfo.getManufacturer()); + statusDetail.setMeasureValidDate(equipmentInfo.getMeasureValidDate()); + statusDetail.setMeterIdentify(equipmentInfo.getMeterIdentify()); + statusDetail.setModel(equipmentInfo.getModel()); + statusDetail.setTraceCompany(equipmentInfo.getTraceCompany()); + statusDetail.setTraceDate(equipmentInfo.getTraceDate()); + statusDetail.setDeptId(equipmentInfo.getDeptId()); + statusDetail.setDeptName(equipmentInfo.getDeptName()); + statusDetail.setProduceDate(equipmentInfo.getProduceDate()); + statusDetail.setProductCountry(equipmentInfo.getProductCountry()); + DictCodeUtils.convertDictCodeToName(response); + + statusDetail.setTechnicalTargetList(targetList); + statusDetail.setAttachmentList(attachmentList); + if (Objects.nonNull(bizEquipmentStatus)) { + Map map = BeanUtil.beanToMap(statusDetail); + List list = new ArrayList<>(); + targetList.forEach(target -> { + String targetStr = "序号:" + (targetList.indexOf(target) + 1) + " 检定参数名称:" + target.getMeasureParam() + " 测量范围:" + target.getMeasureRange() + " 不确定度或允许误差极限或准确度等级:" + target.getUncertainty() + " 误差计算指标:" + target.getErrorCalculateIndicators(); + list.add(targetStr); + }); + String str = list.stream().collect(Collectors.joining(",")); + map.put("targetStr", str); + String type = bizEquipmentStatus.getApprovalType(); + if ("1".equals(type)) { + printFileRegister.registerPrintFile(EQUIPMENT_STATUS_ENABLE, EXPORT_TEMPLATE, null, map, exportDTO.isPdf(), response); + } else if ("2".equals(type)) { + //设置附件信息 + List attachments = new ArrayList<>(); + attachmentList.forEach(attachment -> { + String attachmentStr = "序号:" + (attachmentList.indexOf(attachment) + 1) + " 名称:" + attachment.getName() + " 信息:" + attachment.getInformation() + " 位置:" + attachment.getLocation(); + attachments.add(attachmentStr); + }); + String attachStr = attachments.stream().collect(Collectors.joining(",")); + map.put("attachmentStr", attachStr); + printFileRegister.registerPrintFile(EQUIPMENT_STATUS_UNABLE, EXPORT_TEMPLATE, null, map, exportDTO.isPdf(), response); + } + } + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java index 02e21d0..a713c24 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/equipment/BizEquipmentStatusController.java @@ -3,6 +3,7 @@ import com.casic.missiles.controller.GeneralApprovalController; import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.BaseDetailRequest; +import com.casic.missiles.dto.ExportDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.equipment.EquipmentStatusApprovalListRequest; import com.casic.missiles.dto.equipment.EquipmentStatusApprovalListResponse; @@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; /** @@ -52,4 +54,10 @@ return equipmentStatusService.detail(request); } + @ApiOperation("导出word/pdf/打印") + @PostMapping("/exportFile") + public void exportFile(@RequestBody @Valid ExportDTO exportDTO, HttpServletResponse response) throws Exception { + equipmentStatusService.exportFile(exportDTO, response); + } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java index 5b23d73..155c224 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java @@ -43,6 +43,8 @@ STANDARD_BUILD_SAVE_FAILED(2411, "标准建立保存至草稿箱失败"), CHECK_APPROVAL_SAVE_FAILED(2412, "核查记录审批保存至草稿箱失败"), + EQUIPMENT_INFO_NOT_EXIST(2413, "设备台账不存在"), + /** * 资源管理模块 */ 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 19ebf41..89cfae2 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 @@ -103,6 +103,8 @@ String UNPACKING_ACCEPTANCE = "开箱验收管理"; String EQUIPMENT_LEND = "设备借出管理"; String EQUIPMENT_BORROWING = "设备借用管理"; + String EQUIPMENT_STATUS_ENABLE = "设备启封登记表"; + String EQUIPMENT_STATUS_UNABLE = "设备封存登记表"; String EQUIPMENT_PACKING = "设备运输装箱管理"; String EQUIPMENT_TRANSPORTATION_PROCESS = "设备运输过程管理"; String EXCEPTION_HANDLING = "异常情况处置处理"; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStatusServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStatusServiceImpl.java index 51a3371..163e8ef 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStatusServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/BizEquipmentStatusServiceImpl.java @@ -1,16 +1,16 @@ package com.casic.missiles.service.Impl.equipment; +import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.casic.missiles.dto.BaseApprovalSubmitRequest; -import com.casic.missiles.dto.BaseDetailRequest; -import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.*; import com.casic.missiles.dto.equipment.EquipmentStatusApprovalListRequest; import com.casic.missiles.dto.equipment.EquipmentStatusApprovalListResponse; import com.casic.missiles.dto.equipment.EquipmentStatusDetailResponse; import com.casic.missiles.dto.equipment.EquipmentStatusSaveResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.PrintFileModuleNameEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.BizEquipmentAttachmentMapper; @@ -23,13 +23,23 @@ import com.casic.missiles.model.equipment.BizEquipmentTechnicalTarget; import com.casic.missiles.service.Impl.GeneralApprovalServiceImpl; import com.casic.missiles.service.equipment.IBizEquipmentStatusService; +import com.casic.missiles.service.listeners.register.PrintFileRegister; import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +import static com.casic.missiles.enums.PrintFileModuleNameEnum.*; /** *

@@ -47,6 +57,8 @@ private BizEquipmentAttachmentMapper attachmentMapper; @Autowired private BizEquipmentInfoMapper equipmentInfoMapper; + @Autowired + PrintFileRegister printFileRegister; @Override public ReturnDTO saveEquipmentStatus(BizEquipmentStatus request) { @@ -56,7 +68,7 @@ request.setCreateUserId(request.getUserId()); request.setCreateUserName(request.getUserName()); request.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 - if(this.baseMapper.insert(request) > 0){ + if (this.baseMapper.insert(request) > 0) { EquipmentStatusSaveResponse response = new EquipmentStatusSaveResponse(); response.setId(request.getId()); response.setApprovalNo(request.getApprovalNo()); @@ -97,5 +109,64 @@ return ReturnUtil.success(response); } + @Override + public void exportFile(ExportDTO exportDTO, HttpServletResponse response) throws Exception { + //基本信息 + BizEquipmentStatus bizEquipmentStatus = this.baseMapper.selectById(exportDTO.getId()); + //技术指标、主附件信息 + QueryWrapper targetWrapper = new QueryWrapper<>(); + BizEquipmentInfo equipmentInfo = equipmentInfoMapper.selectById(bizEquipmentStatus.getEquipmentId()); + if (ObjectUtils.isEmpty(equipmentInfo)) { + throw new BusinessException(BusinessExceptionEnum.EQUIPMENT_INFO_NOT_EXIST); + } + targetWrapper.eq("equipment_no", equipmentInfo.getEquipmentNo()); + List targetList = technicalTargetMapper.selectList(targetWrapper); + QueryWrapper attachmentWrapper = new QueryWrapper<>(); + attachmentWrapper.eq("equipment_no", equipmentInfo.getEquipmentNo()); + List attachmentList = attachmentMapper.selectList(attachmentWrapper); + EquipmentStatusDetailResponse statusDetail = ConvertUtils.sourceToTarget(bizEquipmentStatus, EquipmentStatusDetailResponse.class); + statusDetail.setEquipmentNo(equipmentInfo.getEquipmentNo()); + statusDetail.setEquipmentName(equipmentInfo.getEquipmentName()); + statusDetail.setManufactureNo(equipmentInfo.getManufactureNo()); + statusDetail.setManufacturer(equipmentInfo.getManufacturer()); + statusDetail.setMeasureValidDate(equipmentInfo.getMeasureValidDate()); + statusDetail.setMeterIdentify(equipmentInfo.getMeterIdentify()); + statusDetail.setModel(equipmentInfo.getModel()); + statusDetail.setTraceCompany(equipmentInfo.getTraceCompany()); + statusDetail.setTraceDate(equipmentInfo.getTraceDate()); + statusDetail.setDeptId(equipmentInfo.getDeptId()); + statusDetail.setDeptName(equipmentInfo.getDeptName()); + statusDetail.setProduceDate(equipmentInfo.getProduceDate()); + statusDetail.setProductCountry(equipmentInfo.getProductCountry()); + DictCodeUtils.convertDictCodeToName(response); + + statusDetail.setTechnicalTargetList(targetList); + statusDetail.setAttachmentList(attachmentList); + if (Objects.nonNull(bizEquipmentStatus)) { + Map map = BeanUtil.beanToMap(statusDetail); + List list = new ArrayList<>(); + targetList.forEach(target -> { + String targetStr = "序号:" + (targetList.indexOf(target) + 1) + " 检定参数名称:" + target.getMeasureParam() + " 测量范围:" + target.getMeasureRange() + " 不确定度或允许误差极限或准确度等级:" + target.getUncertainty() + " 误差计算指标:" + target.getErrorCalculateIndicators(); + list.add(targetStr); + }); + String str = list.stream().collect(Collectors.joining(",")); + map.put("targetStr", str); + String type = bizEquipmentStatus.getApprovalType(); + if ("1".equals(type)) { + printFileRegister.registerPrintFile(EQUIPMENT_STATUS_ENABLE, EXPORT_TEMPLATE, null, map, exportDTO.isPdf(), response); + } else if ("2".equals(type)) { + //设置附件信息 + List attachments = new ArrayList<>(); + attachmentList.forEach(attachment -> { + String attachmentStr = "序号:" + (attachmentList.indexOf(attachment) + 1) + " 名称:" + attachment.getName() + " 信息:" + attachment.getInformation() + " 位置:" + attachment.getLocation(); + attachments.add(attachmentStr); + }); + String attachStr = attachments.stream().collect(Collectors.joining(",")); + map.put("attachmentStr", attachStr); + printFileRegister.registerPrintFile(EQUIPMENT_STATUS_UNABLE, EXPORT_TEMPLATE, null, map, exportDTO.isPdf(), response); + } + } + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IBizEquipmentStatusService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IBizEquipmentStatusService.java index b551ff7..f3106be 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IBizEquipmentStatusService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IBizEquipmentStatusService.java @@ -2,6 +2,7 @@ import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.BaseDetailRequest; +import com.casic.missiles.dto.ExportDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.equipment.EquipmentStatusApprovalListRequest; import com.casic.missiles.dto.equipment.EquipmentStatusApprovalListResponse; @@ -10,6 +11,9 @@ import com.casic.missiles.model.equipment.BizEquipmentStatus; import com.casic.missiles.service.IGeneralApprovalService; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + /** *

* 设备与装置-设备状态维护 服务类 @@ -23,4 +27,6 @@ ReturnDTO saveEquipmentStatus(BizEquipmentStatus request); ReturnDTO detail(BaseDetailRequest request) throws Exception; + + void exportFile(ExportDTO exportDTO, HttpServletResponse response) throws Exception; }