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;
}