responseList = traceSupplierService.approvalListPage(page, request);
+ page.setRecords(responseList);
+ return ReturnUtil.success(super.packForBT(page));
+ }
+
+ /**
+ * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除)
+ * 前端控制按钮权限
+ */
+ @ApiOperation("审批操作-删除")
+ @PostMapping("/approval/operate/delete")
+ @ResponseBody
+ public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.approvalDelete(request);
+ }
+
+ /**
+ * 审批操作-编辑
+ * 驳回的流程放置在未通过列表中,实现进行编辑后自动审核通过发起人节点
+ */
+ @ApiOperation("未通过证书报告编辑(驳回后的证书报告重新编辑,仅未通过列表中的编辑按钮可调用)")
+ @PostMapping("/failUpdate")
+ @ResponseBody
+ public ReturnDTO failUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.failUpdate(traceSupplier);
+ }
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
index fa5fdee..f126f11 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -11,7 +11,6 @@
import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.exception.BusinessException;
-import com.casic.missiles.model.business.BusinessEnvironmentRecord;
import com.casic.missiles.model.business.BusinessOriginalRecord;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.service.business.IBusinessOriginalRecordService;
@@ -99,10 +98,10 @@
businessOriginalRecordService.originExport(request, response);
}
- @ApiOperation("获取设备")
- @PostMapping("/getEquipments")
- public void getEquipments() {
-// businessEnvironmentRecordService.environmentExport(request, response);
- }
+// @ApiOperation("获取设备")
+// @PostMapping("/getEquipments")
+// public void getEquipments() {
+//// businessEnvironmentRecordService.environmentExport(request, response);
+// }
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java
new file mode 100644
index 0000000..f84fb2f
--- /dev/null
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java
@@ -0,0 +1,49 @@
+package com.casic.missiles.enums;
+
+/**
+ * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀
+ * 无线电
+ * 光学
+ * 时间频率
+ * 电磁学
+ * 几何量
+ * 热学
+ * 力学
+ * 环境试验
+ * 电磁兼容
+ * 医疗器械
+ * 理化分析
+ * 电力系统
+ * @Author: zt
+ * @Date: 2023/2/18 14:40
+ */
+public enum MonitorCodeEnum {
+ WIRELESS("1", "RIM"),
+ OPTICS("2", "TOE"),
+ TIME_FREQUENCY("3", "TTF"),
+ EMC("4", "DMS"),
+ GEOMETRY("5", "JHL"),
+ HEAT("6", "RXZ"),
+ DYNAMICS("7", "LXZ"),
+ ENVIRONMENT_TEST("8", "TET"),
+ DCJR("9", "EMC"),
+ YLQX("10", "DCJ"),
+ LHFX("11", "LHF"),
+ DLXT("12", "DLX");
+
+ private String code;
+ private String value;
+
+ MonitorCodeEnum(String code, String value) {
+ this.code = code;
+ this.value = value;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public String getValue() {
+ return value;
+ }
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
index 499ba5c..add1f9e 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
@@ -8,6 +8,7 @@
import org.apache.ibatis.annotations.Param;
import java.util.List;
+import org.apache.ibatis.annotations.Select;
/**
*
@@ -23,4 +24,7 @@
+ @Select("SELECT IFNULL(max(RIGHT(certificate_report_code, 12)), 0) from business_certificate_report")
+ Long selectMaxCode();
+
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
index 3f2b326..b4d8744 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
@@ -7,7 +7,7 @@
-
+
@@ -24,13 +24,13 @@
-
+
bor.*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@Data
@@ -28,111 +29,136 @@
* 证书报告编号
*/
@TableField("certificate_report_code")
+ @ApiModelProperty(value = "证书报告编号", dataType = "String")
private String certificateReportCode;
/**
* 证书报告名称
*/
@TableField("certificate_report_name")
+ @ApiModelProperty(value = "证书报告名称", dataType = "String")
private String certificateReportName;
/**
* 证书类别,多个逗号分割(字典code)
*/
@TableField("certificate_report_category")
+ @ApiModelProperty(value = "证书类别,多个逗号分割(字典code)", dataType = "String")
private String certificateReportCategory;
/**
* 委托书id
*/
@TableField("order_id")
+ @ApiModelProperty(value = "委托书id", dataType = "Long")
private Long orderId;
/**
* 样品id
*/
@TableField("sample_id")
+ @ApiModelProperty(value = "样品id", dataType = "Long")
private Long sampleId;
/**
* 检定部门id(可用于获取实验室已完成证书个数)
*/
@TableField("measure_dept_id")
+ @ApiModelProperty(value = "检定部门id", dataType = "Long")
private Long measureDeptId;
/**
* 检校专业(字典code)
*/
@TableField("calibration_major")
+ @ApiModelProperty(value = "检校专业", dataType = "String")
private String calibrationMajor;
/**
* 出具日期
*/
@TableField("issuance_date")
+ @ApiModelProperty(value = "出具日期", dataType = "String")
private String issuanceDate;
/**
* 证书有效期
*/
@TableField("expiration_date")
+ @ApiModelProperty(value = "证书有效期", dataType = "String")
private String expirationDate;
/**
* 检定结果(字典code)
*/
@TableField("measure_result")
+ @ApiModelProperty(value = "检定结果", dataType = "String")
private String measureResult;
/**
* 证书报告模板id
*/
@TableField("template_id")
+ @ApiModelProperty(value = "证书报告模板id", dataType = "Long")
private Long templateId;
/**
* 电子签章id(签章表id)
*/
@TableField("sign_id")
+ @ApiModelProperty(value = "电子签章id", dataType = "Long")
private Long signId;
/**
* 认可标志专用章id(签章表id)
*/
@TableField("approval_sign_id")
+ @ApiModelProperty(value = "认可标志专用章id", dataType = "Long")
private Long approvalSignId;
/**
* 证书报告附件(minio存储文件名)
*/
@TableField("certificate_report_file")
+ @ApiModelProperty(value = "证书报告附件", dataType = "String")
private String certificateReportFile;
/**
* 原始记录id
*/
@TableField("original_record_id")
+ @ApiModelProperty(value = "原始记录id", dataType = "Long")
private Long originalRecordId;
/**
* 可打印状态(字典code)
*/
@TableField("print_status")
+ @ApiModelProperty(value = "可打印状态", dataType = "String")
private String printStatus;
/**
* 打印次数
*/
@TableField("print_num")
+ @ApiModelProperty(value = "打印次数", dataType = "Integer")
private Integer printNum;
/**
+ * 检定人员
+ */
+ @TableField("measure_person_id")
+ @ApiModelProperty(value = "检定人员", dataType = "String")
+ private String measurePersonId;
+
+ /**
* 可打印状态(字典code)
*/
@TableField("approval_status")
private String approvalStatus;
@TableField("remark")
+ @ApiModelProperty(value = "备注", dataType = "String")
private String remark;
@TableField("is_del")
@@ -147,4 +173,8 @@
@TableField("update_time")
private String updateTime;
+ @TableField(exist = false)
+ @ApiModelProperty(value = "原始记录信息", dataType = "Object")
+ private BusinessOriginalRecord businessOriginalRecord;
+
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
index e2a7f92..4b19dcd 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -1,18 +1,207 @@
package com.casic.missiles.controller.business;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.*;
+import com.casic.missiles.dto.flowable.ApprovalDeleteRequest;
+import com.casic.missiles.dto.meter.*;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.ExportEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.business.BusinessCertificateReport;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.model.meter.MeterTraceSupplier;
+import com.casic.missiles.service.business.IBusinessCertificateReportService;
+import com.casic.missiles.service.meter.IMeterTraceSupplierService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
+import java.util.Objects;
/**
*
* 业务管理-证书报告 前端控制器
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@RestController
+@Api(tags = "证书报告模块")
@RequestMapping("/business/certificateReport")
-public class BusinessCertificateReportController {
+public class BusinessCertificateReportController extends ExportController {
+ @Resource
+ private IBusinessCertificateReportService certificateReportService;
+ @Autowired
+ private IMeterTraceSupplierService traceSupplierService;
+ @ApiOperation("证书报告列表(分页)")
+ @PostMapping("/listPage")
+ @ResponseBody
+ public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request)));
+ }
+ @ApiOperation("证书报告列表")
+ @PostMapping("/list")
+ @ResponseBody
+ public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(traceSupplierService.list(request));
+ }
+
+ @ApiOperation("证书报告导出")
+ @PostMapping("/listExport")
+ @ResponseBody
+ public void export(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) throws IOException {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ List list;
+ if (!CollectionUtils.isEmpty(request.getIds())) {
+ list = traceSupplierService.listByIds(request.getIds());
+ } else {
+ list = traceSupplierService.list(request);
+ }
+ super.exportExcel(MeterTraceSupplier.class, list, ExportEnum.TRACE_SUPPLIER_EXPORT.getSheetName());
+ }
+
+ @ApiOperation("证书报告保存(保存至草稿箱)")
+ @PostMapping("/save")
+ @ResponseBody
+ public ReturnDTO save(@RequestBody @Valid BusinessCertificateReport certificateReport, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(certificateReportService.saveCertificateReport(certificateReport));
+ }
+
+ /**
+ * 草稿箱文件编辑
+ */
+ @ApiOperation("草稿箱文件更新")
+ @PostMapping("/draftUpdate")
+ @ResponseBody
+ public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.draftUpdate(traceSupplier);
+ }
+
+ @ApiOperation("证书报告提交(未调用过保存接口保存至草稿箱需先调用保存接口,再调用该接口)")
+ @PostMapping("/submit")
+ @ResponseBody
+ public ReturnDTO traceSupplierSubmit(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.submitTraceSupplier(request);
+ }
+
+ @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)")
+ @PostMapping("/update")
+ @ResponseBody
+ public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return traceSupplierService.updateTraceSupplier(traceSupplier);
+ }
+
+ @ApiOperation("证书报告删除")
+ @PostMapping("/delete")
+ @ResponseBody
+ public ReturnDTO supplierDelete(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return traceSupplierService.deleteTraceSupplier(idDTO.getId());
+ }
+
+ @ApiOperation("证书报告批量删除")
+ @PostMapping("/batchDelete")
+ @ResponseBody
+ public ReturnDTO supplierBatchDelete(@RequestBody @Valid IdsDTO idsDTO) {
+ Assert.isFalse(CollectionUtils.isEmpty(idsDTO.getIds()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return traceSupplierService.deleteBatchTraceSupplier(idsDTO.getIds());
+ }
+
+ @ApiOperation("证书报告详情")
+ @PostMapping("/detail")
+ @ResponseBody
+ public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(certificateReportService.certificateReportDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("证书报告审批列表及详情中基础信息(分页),底部的人员信息等可用证书报告详情接口")
+ @PostMapping("/approval/listPage")
+ @ResponseBody
+ public ReturnDTO> approvalListPage(@RequestBody @Valid TraceSupplierApprovalListRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ List responseList = traceSupplierService.approvalListPage(page, request);
+ page.setRecords(responseList);
+ return ReturnUtil.success(super.packForBT(page));
+ }
+
+ /**
+ * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除)
+ * 前端控制按钮权限
+ */
+ @ApiOperation("审批操作-删除")
+ @PostMapping("/approval/operate/delete")
+ @ResponseBody
+ public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.approvalDelete(request);
+ }
+
+ /**
+ * 审批操作-编辑
+ * 驳回的流程放置在未通过列表中,实现进行编辑后自动审核通过发起人节点
+ */
+ @ApiOperation("未通过证书报告编辑(驳回后的证书报告重新编辑,仅未通过列表中的编辑按钮可调用)")
+ @PostMapping("/failUpdate")
+ @ResponseBody
+ public ReturnDTO failUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.failUpdate(traceSupplier);
+ }
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
index fa5fdee..f126f11 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -11,7 +11,6 @@
import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.exception.BusinessException;
-import com.casic.missiles.model.business.BusinessEnvironmentRecord;
import com.casic.missiles.model.business.BusinessOriginalRecord;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.service.business.IBusinessOriginalRecordService;
@@ -99,10 +98,10 @@
businessOriginalRecordService.originExport(request, response);
}
- @ApiOperation("获取设备")
- @PostMapping("/getEquipments")
- public void getEquipments() {
-// businessEnvironmentRecordService.environmentExport(request, response);
- }
+// @ApiOperation("获取设备")
+// @PostMapping("/getEquipments")
+// public void getEquipments() {
+//// businessEnvironmentRecordService.environmentExport(request, response);
+// }
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java
new file mode 100644
index 0000000..f84fb2f
--- /dev/null
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java
@@ -0,0 +1,49 @@
+package com.casic.missiles.enums;
+
+/**
+ * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀
+ * 无线电
+ * 光学
+ * 时间频率
+ * 电磁学
+ * 几何量
+ * 热学
+ * 力学
+ * 环境试验
+ * 电磁兼容
+ * 医疗器械
+ * 理化分析
+ * 电力系统
+ * @Author: zt
+ * @Date: 2023/2/18 14:40
+ */
+public enum MonitorCodeEnum {
+ WIRELESS("1", "RIM"),
+ OPTICS("2", "TOE"),
+ TIME_FREQUENCY("3", "TTF"),
+ EMC("4", "DMS"),
+ GEOMETRY("5", "JHL"),
+ HEAT("6", "RXZ"),
+ DYNAMICS("7", "LXZ"),
+ ENVIRONMENT_TEST("8", "TET"),
+ DCJR("9", "EMC"),
+ YLQX("10", "DCJ"),
+ LHFX("11", "LHF"),
+ DLXT("12", "DLX");
+
+ private String code;
+ private String value;
+
+ MonitorCodeEnum(String code, String value) {
+ this.code = code;
+ this.value = value;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public String getValue() {
+ return value;
+ }
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
index 499ba5c..add1f9e 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
@@ -8,6 +8,7 @@
import org.apache.ibatis.annotations.Param;
import java.util.List;
+import org.apache.ibatis.annotations.Select;
/**
*
@@ -23,4 +24,7 @@
+ @Select("SELECT IFNULL(max(RIGHT(certificate_report_code, 12)), 0) from business_certificate_report")
+ Long selectMaxCode();
+
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
index 3f2b326..b4d8744 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
@@ -7,7 +7,7 @@
-
+
@@ -24,13 +24,13 @@
-
+
bor.*
SELECT
-
+
FROM business_original_record bor
LEFT JOIN customer_sample_info cs ON bor.sample_id = cs.id
WHERE bor.is_del =0
@@ -38,7 +38,7 @@
and bor.original_record_code like concat('%', #{request.originalRecordCode}, '%')
- and cs.sample_no like concat('%', #{request.sampleN}, '%')
+ and cs.sample_no like concat('%', #{request.sampleNo}, '%')
and cs.sample_name like concat('%', #{request.sampleName}, '%')
@@ -49,8 +49,8 @@
and cs.manufacturing_no like concat('%', #{request.manufacturingNo}, '%')
-
- and bor.measure_category = #{request.calibrationCategory}
+
+ and bor.measure_category = #{request.measureCategory}
and bor.create_user = #{request.createUser}
@@ -61,13 +61,15 @@
SELECT
- ,
- cs.sample_no AS sampleNo,
- cs.sample_name AS sampleName,
- cs.sample_model AS samplemModel,
- cs.manufacturing_no AS manufacturingNo
+ ,
+ cs.sample_no AS sampleNo,
+ cs.sample_name AS sampleName,
+ cs.sample_model AS sampleModel,
+ cs.manufacturing_no AS manufacturingNo,
+ su.name AS createUserName
FROM business_original_record bor
LEFT JOIN customer_sample_info cs ON bor.sample_id = cs.id
+ LEFT JOIN sys_user su ON su.id = bor.create_user
WHERE bor.is_del =0
and bor.original_record_code like concat('%', #{request.originalRecordCode}, '%')
@@ -84,12 +86,19 @@
and cs.manufacturing_no like concat('%', #{request.manufacturingNo}, '%')
-
- and bor.measure_category = #{request.calibrationCategory}
+
+ and bor.measure_category = #{request.measureCategory}
and bor.create_user = #{request.createUser}
+
+
+ AND bor.id IN
+
+ #{item}
+
+
ORDER BY bor.create_time DESC
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java
index 6b7ddc9..db821a7 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java
@@ -4,6 +4,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
@Data
@ApiModel
public class EnvironmentListRequest {
@@ -19,4 +21,8 @@
@ApiModelProperty(value = "结束时间", dataType = "String")
private String endTime;
+
+ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List")
+ private List ids;
+
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
index cc0dac1..01759aa 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
@@ -4,6 +4,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
@Data
@ApiModel
public class OriginRecordRequest {
@@ -24,8 +26,11 @@
private String manufacturingNo;
@ApiModelProperty(value = "校验类别", dataType = "String")
- private String calibrationCategory;
+ private String measureCategory;
@ApiModelProperty(value = "创建人", dataType = "String")
private String createUser;
+
+ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List")
+ private List ids;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
index 4c0521d..2dd8e21 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
@@ -7,6 +7,8 @@
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.enums.poi.BorderStyleEnum;
+import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -48,8 +50,12 @@
private String manufacturingNo;
@ApiModelProperty(value = "检校类别", dataType = "String")
+ @DictCodeField(message = "检校类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY)
+ private String measureCategory;
+
+ @ApiModelProperty(value = "检校类别", dataType = "String")
@ExcelProperty(value = "检校类别", order = 6)
- private String calibrationCategory;
+ private String measureCategoryName;
@ApiModelProperty(value = "检校时间", dataType = "String")
private String calibrationTime;
@@ -84,7 +90,7 @@
@ApiModelProperty(value = "创建人", dataType = "String")
@ExcelProperty(value = "创建人", order = 7)
- private String createUser;
+ private String createUserName;
@ApiModelProperty(value = "创建时间", dataType = "String")
@ExcelProperty(value = "创建时间", order = 8)
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java
index 122382c..1e0c46f 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@@ -12,7 +13,7 @@
* 业务管理-证书报告
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@Data
@@ -28,111 +29,136 @@
* 证书报告编号
*/
@TableField("certificate_report_code")
+ @ApiModelProperty(value = "证书报告编号", dataType = "String")
private String certificateReportCode;
/**
* 证书报告名称
*/
@TableField("certificate_report_name")
+ @ApiModelProperty(value = "证书报告名称", dataType = "String")
private String certificateReportName;
/**
* 证书类别,多个逗号分割(字典code)
*/
@TableField("certificate_report_category")
+ @ApiModelProperty(value = "证书类别,多个逗号分割(字典code)", dataType = "String")
private String certificateReportCategory;
/**
* 委托书id
*/
@TableField("order_id")
+ @ApiModelProperty(value = "委托书id", dataType = "Long")
private Long orderId;
/**
* 样品id
*/
@TableField("sample_id")
+ @ApiModelProperty(value = "样品id", dataType = "Long")
private Long sampleId;
/**
* 检定部门id(可用于获取实验室已完成证书个数)
*/
@TableField("measure_dept_id")
+ @ApiModelProperty(value = "检定部门id", dataType = "Long")
private Long measureDeptId;
/**
* 检校专业(字典code)
*/
@TableField("calibration_major")
+ @ApiModelProperty(value = "检校专业", dataType = "String")
private String calibrationMajor;
/**
* 出具日期
*/
@TableField("issuance_date")
+ @ApiModelProperty(value = "出具日期", dataType = "String")
private String issuanceDate;
/**
* 证书有效期
*/
@TableField("expiration_date")
+ @ApiModelProperty(value = "证书有效期", dataType = "String")
private String expirationDate;
/**
* 检定结果(字典code)
*/
@TableField("measure_result")
+ @ApiModelProperty(value = "检定结果", dataType = "String")
private String measureResult;
/**
* 证书报告模板id
*/
@TableField("template_id")
+ @ApiModelProperty(value = "证书报告模板id", dataType = "Long")
private Long templateId;
/**
* 电子签章id(签章表id)
*/
@TableField("sign_id")
+ @ApiModelProperty(value = "电子签章id", dataType = "Long")
private Long signId;
/**
* 认可标志专用章id(签章表id)
*/
@TableField("approval_sign_id")
+ @ApiModelProperty(value = "认可标志专用章id", dataType = "Long")
private Long approvalSignId;
/**
* 证书报告附件(minio存储文件名)
*/
@TableField("certificate_report_file")
+ @ApiModelProperty(value = "证书报告附件", dataType = "String")
private String certificateReportFile;
/**
* 原始记录id
*/
@TableField("original_record_id")
+ @ApiModelProperty(value = "原始记录id", dataType = "Long")
private Long originalRecordId;
/**
* 可打印状态(字典code)
*/
@TableField("print_status")
+ @ApiModelProperty(value = "可打印状态", dataType = "String")
private String printStatus;
/**
* 打印次数
*/
@TableField("print_num")
+ @ApiModelProperty(value = "打印次数", dataType = "Integer")
private Integer printNum;
/**
+ * 检定人员
+ */
+ @TableField("measure_person_id")
+ @ApiModelProperty(value = "检定人员", dataType = "String")
+ private String measurePersonId;
+
+ /**
* 可打印状态(字典code)
*/
@TableField("approval_status")
private String approvalStatus;
@TableField("remark")
+ @ApiModelProperty(value = "备注", dataType = "String")
private String remark;
@TableField("is_del")
@@ -147,4 +173,8 @@
@TableField("update_time")
private String updateTime;
+ @TableField(exist = false)
+ @ApiModelProperty(value = "原始记录信息", dataType = "Object")
+ private BusinessOriginalRecord businessOriginalRecord;
+
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java
index c918e35..201dc35 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
import com.casic.missiles.model.customer.CustomerSampleInfo;
import com.casic.missiles.model.equipment.EquipmentApplyFile;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
@@ -18,7 +20,7 @@
*
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@Data
@@ -47,9 +49,10 @@
/**
* 检校类别(字典code)
*/
- @TableField("calibration_category")
+ @TableField("measure_category")
@ApiModelProperty(value = "检校类别", dataType = "String")
- private String calibrationCategory;
+ @DictCodeField(message = "检校类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY)
+ private String measureCategory;
/**
* 检校时间
@@ -147,4 +150,8 @@
@TableField(exist = false)
@ApiModelProperty(value = "技术文件", dataType = "List")
private List fileList;
+
+ @TableField(exist = false)
+ @ApiModelProperty(value = "检校类别名称", dataType = "String")
+ private String measureCategoryName;
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
index e2a7f92..4b19dcd 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -1,18 +1,207 @@
package com.casic.missiles.controller.business;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.*;
+import com.casic.missiles.dto.flowable.ApprovalDeleteRequest;
+import com.casic.missiles.dto.meter.*;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.ExportEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.business.BusinessCertificateReport;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.model.meter.MeterTraceSupplier;
+import com.casic.missiles.service.business.IBusinessCertificateReportService;
+import com.casic.missiles.service.meter.IMeterTraceSupplierService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
+import java.util.Objects;
/**
*
* 业务管理-证书报告 前端控制器
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@RestController
+@Api(tags = "证书报告模块")
@RequestMapping("/business/certificateReport")
-public class BusinessCertificateReportController {
+public class BusinessCertificateReportController extends ExportController {
+ @Resource
+ private IBusinessCertificateReportService certificateReportService;
+ @Autowired
+ private IMeterTraceSupplierService traceSupplierService;
+ @ApiOperation("证书报告列表(分页)")
+ @PostMapping("/listPage")
+ @ResponseBody
+ public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request)));
+ }
+ @ApiOperation("证书报告列表")
+ @PostMapping("/list")
+ @ResponseBody
+ public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(traceSupplierService.list(request));
+ }
+
+ @ApiOperation("证书报告导出")
+ @PostMapping("/listExport")
+ @ResponseBody
+ public void export(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) throws IOException {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ List list;
+ if (!CollectionUtils.isEmpty(request.getIds())) {
+ list = traceSupplierService.listByIds(request.getIds());
+ } else {
+ list = traceSupplierService.list(request);
+ }
+ super.exportExcel(MeterTraceSupplier.class, list, ExportEnum.TRACE_SUPPLIER_EXPORT.getSheetName());
+ }
+
+ @ApiOperation("证书报告保存(保存至草稿箱)")
+ @PostMapping("/save")
+ @ResponseBody
+ public ReturnDTO save(@RequestBody @Valid BusinessCertificateReport certificateReport, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(certificateReportService.saveCertificateReport(certificateReport));
+ }
+
+ /**
+ * 草稿箱文件编辑
+ */
+ @ApiOperation("草稿箱文件更新")
+ @PostMapping("/draftUpdate")
+ @ResponseBody
+ public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.draftUpdate(traceSupplier);
+ }
+
+ @ApiOperation("证书报告提交(未调用过保存接口保存至草稿箱需先调用保存接口,再调用该接口)")
+ @PostMapping("/submit")
+ @ResponseBody
+ public ReturnDTO traceSupplierSubmit(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.submitTraceSupplier(request);
+ }
+
+ @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)")
+ @PostMapping("/update")
+ @ResponseBody
+ public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return traceSupplierService.updateTraceSupplier(traceSupplier);
+ }
+
+ @ApiOperation("证书报告删除")
+ @PostMapping("/delete")
+ @ResponseBody
+ public ReturnDTO supplierDelete(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return traceSupplierService.deleteTraceSupplier(idDTO.getId());
+ }
+
+ @ApiOperation("证书报告批量删除")
+ @PostMapping("/batchDelete")
+ @ResponseBody
+ public ReturnDTO supplierBatchDelete(@RequestBody @Valid IdsDTO idsDTO) {
+ Assert.isFalse(CollectionUtils.isEmpty(idsDTO.getIds()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return traceSupplierService.deleteBatchTraceSupplier(idsDTO.getIds());
+ }
+
+ @ApiOperation("证书报告详情")
+ @PostMapping("/detail")
+ @ResponseBody
+ public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(certificateReportService.certificateReportDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("证书报告审批列表及详情中基础信息(分页),底部的人员信息等可用证书报告详情接口")
+ @PostMapping("/approval/listPage")
+ @ResponseBody
+ public ReturnDTO> approvalListPage(@RequestBody @Valid TraceSupplierApprovalListRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ List responseList = traceSupplierService.approvalListPage(page, request);
+ page.setRecords(responseList);
+ return ReturnUtil.success(super.packForBT(page));
+ }
+
+ /**
+ * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除)
+ * 前端控制按钮权限
+ */
+ @ApiOperation("审批操作-删除")
+ @PostMapping("/approval/operate/delete")
+ @ResponseBody
+ public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.approvalDelete(request);
+ }
+
+ /**
+ * 审批操作-编辑
+ * 驳回的流程放置在未通过列表中,实现进行编辑后自动审核通过发起人节点
+ */
+ @ApiOperation("未通过证书报告编辑(驳回后的证书报告重新编辑,仅未通过列表中的编辑按钮可调用)")
+ @PostMapping("/failUpdate")
+ @ResponseBody
+ public ReturnDTO failUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.failUpdate(traceSupplier);
+ }
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
index fa5fdee..f126f11 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -11,7 +11,6 @@
import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.exception.BusinessException;
-import com.casic.missiles.model.business.BusinessEnvironmentRecord;
import com.casic.missiles.model.business.BusinessOriginalRecord;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.service.business.IBusinessOriginalRecordService;
@@ -99,10 +98,10 @@
businessOriginalRecordService.originExport(request, response);
}
- @ApiOperation("获取设备")
- @PostMapping("/getEquipments")
- public void getEquipments() {
-// businessEnvironmentRecordService.environmentExport(request, response);
- }
+// @ApiOperation("获取设备")
+// @PostMapping("/getEquipments")
+// public void getEquipments() {
+//// businessEnvironmentRecordService.environmentExport(request, response);
+// }
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java
new file mode 100644
index 0000000..f84fb2f
--- /dev/null
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java
@@ -0,0 +1,49 @@
+package com.casic.missiles.enums;
+
+/**
+ * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀
+ * 无线电
+ * 光学
+ * 时间频率
+ * 电磁学
+ * 几何量
+ * 热学
+ * 力学
+ * 环境试验
+ * 电磁兼容
+ * 医疗器械
+ * 理化分析
+ * 电力系统
+ * @Author: zt
+ * @Date: 2023/2/18 14:40
+ */
+public enum MonitorCodeEnum {
+ WIRELESS("1", "RIM"),
+ OPTICS("2", "TOE"),
+ TIME_FREQUENCY("3", "TTF"),
+ EMC("4", "DMS"),
+ GEOMETRY("5", "JHL"),
+ HEAT("6", "RXZ"),
+ DYNAMICS("7", "LXZ"),
+ ENVIRONMENT_TEST("8", "TET"),
+ DCJR("9", "EMC"),
+ YLQX("10", "DCJ"),
+ LHFX("11", "LHF"),
+ DLXT("12", "DLX");
+
+ private String code;
+ private String value;
+
+ MonitorCodeEnum(String code, String value) {
+ this.code = code;
+ this.value = value;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public String getValue() {
+ return value;
+ }
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
index 499ba5c..add1f9e 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
@@ -8,6 +8,7 @@
import org.apache.ibatis.annotations.Param;
import java.util.List;
+import org.apache.ibatis.annotations.Select;
/**
*
@@ -23,4 +24,7 @@
+ @Select("SELECT IFNULL(max(RIGHT(certificate_report_code, 12)), 0) from business_certificate_report")
+ Long selectMaxCode();
+
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
index 3f2b326..b4d8744 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
@@ -7,7 +7,7 @@
-
+
@@ -24,13 +24,13 @@
-
+
bor.*
SELECT
-
+
FROM business_original_record bor
LEFT JOIN customer_sample_info cs ON bor.sample_id = cs.id
WHERE bor.is_del =0
@@ -38,7 +38,7 @@
and bor.original_record_code like concat('%', #{request.originalRecordCode}, '%')
- and cs.sample_no like concat('%', #{request.sampleN}, '%')
+ and cs.sample_no like concat('%', #{request.sampleNo}, '%')
and cs.sample_name like concat('%', #{request.sampleName}, '%')
@@ -49,8 +49,8 @@
and cs.manufacturing_no like concat('%', #{request.manufacturingNo}, '%')
-
- and bor.measure_category = #{request.calibrationCategory}
+
+ and bor.measure_category = #{request.measureCategory}
and bor.create_user = #{request.createUser}
@@ -61,13 +61,15 @@
SELECT
- ,
- cs.sample_no AS sampleNo,
- cs.sample_name AS sampleName,
- cs.sample_model AS samplemModel,
- cs.manufacturing_no AS manufacturingNo
+ ,
+ cs.sample_no AS sampleNo,
+ cs.sample_name AS sampleName,
+ cs.sample_model AS sampleModel,
+ cs.manufacturing_no AS manufacturingNo,
+ su.name AS createUserName
FROM business_original_record bor
LEFT JOIN customer_sample_info cs ON bor.sample_id = cs.id
+ LEFT JOIN sys_user su ON su.id = bor.create_user
WHERE bor.is_del =0
and bor.original_record_code like concat('%', #{request.originalRecordCode}, '%')
@@ -84,12 +86,19 @@
and cs.manufacturing_no like concat('%', #{request.manufacturingNo}, '%')
-
- and bor.measure_category = #{request.calibrationCategory}
+
+ and bor.measure_category = #{request.measureCategory}
and bor.create_user = #{request.createUser}
+
+
+ AND bor.id IN
+
+ #{item}
+
+
ORDER BY bor.create_time DESC
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java
index 6b7ddc9..db821a7 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java
@@ -4,6 +4,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
@Data
@ApiModel
public class EnvironmentListRequest {
@@ -19,4 +21,8 @@
@ApiModelProperty(value = "结束时间", dataType = "String")
private String endTime;
+
+ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List")
+ private List ids;
+
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
index cc0dac1..01759aa 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
@@ -4,6 +4,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
@Data
@ApiModel
public class OriginRecordRequest {
@@ -24,8 +26,11 @@
private String manufacturingNo;
@ApiModelProperty(value = "校验类别", dataType = "String")
- private String calibrationCategory;
+ private String measureCategory;
@ApiModelProperty(value = "创建人", dataType = "String")
private String createUser;
+
+ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List")
+ private List ids;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
index 4c0521d..2dd8e21 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
@@ -7,6 +7,8 @@
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.enums.poi.BorderStyleEnum;
+import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -48,8 +50,12 @@
private String manufacturingNo;
@ApiModelProperty(value = "检校类别", dataType = "String")
+ @DictCodeField(message = "检校类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY)
+ private String measureCategory;
+
+ @ApiModelProperty(value = "检校类别", dataType = "String")
@ExcelProperty(value = "检校类别", order = 6)
- private String calibrationCategory;
+ private String measureCategoryName;
@ApiModelProperty(value = "检校时间", dataType = "String")
private String calibrationTime;
@@ -84,7 +90,7 @@
@ApiModelProperty(value = "创建人", dataType = "String")
@ExcelProperty(value = "创建人", order = 7)
- private String createUser;
+ private String createUserName;
@ApiModelProperty(value = "创建时间", dataType = "String")
@ExcelProperty(value = "创建时间", order = 8)
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java
index 122382c..1e0c46f 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@@ -12,7 +13,7 @@
* 业务管理-证书报告
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@Data
@@ -28,111 +29,136 @@
* 证书报告编号
*/
@TableField("certificate_report_code")
+ @ApiModelProperty(value = "证书报告编号", dataType = "String")
private String certificateReportCode;
/**
* 证书报告名称
*/
@TableField("certificate_report_name")
+ @ApiModelProperty(value = "证书报告名称", dataType = "String")
private String certificateReportName;
/**
* 证书类别,多个逗号分割(字典code)
*/
@TableField("certificate_report_category")
+ @ApiModelProperty(value = "证书类别,多个逗号分割(字典code)", dataType = "String")
private String certificateReportCategory;
/**
* 委托书id
*/
@TableField("order_id")
+ @ApiModelProperty(value = "委托书id", dataType = "Long")
private Long orderId;
/**
* 样品id
*/
@TableField("sample_id")
+ @ApiModelProperty(value = "样品id", dataType = "Long")
private Long sampleId;
/**
* 检定部门id(可用于获取实验室已完成证书个数)
*/
@TableField("measure_dept_id")
+ @ApiModelProperty(value = "检定部门id", dataType = "Long")
private Long measureDeptId;
/**
* 检校专业(字典code)
*/
@TableField("calibration_major")
+ @ApiModelProperty(value = "检校专业", dataType = "String")
private String calibrationMajor;
/**
* 出具日期
*/
@TableField("issuance_date")
+ @ApiModelProperty(value = "出具日期", dataType = "String")
private String issuanceDate;
/**
* 证书有效期
*/
@TableField("expiration_date")
+ @ApiModelProperty(value = "证书有效期", dataType = "String")
private String expirationDate;
/**
* 检定结果(字典code)
*/
@TableField("measure_result")
+ @ApiModelProperty(value = "检定结果", dataType = "String")
private String measureResult;
/**
* 证书报告模板id
*/
@TableField("template_id")
+ @ApiModelProperty(value = "证书报告模板id", dataType = "Long")
private Long templateId;
/**
* 电子签章id(签章表id)
*/
@TableField("sign_id")
+ @ApiModelProperty(value = "电子签章id", dataType = "Long")
private Long signId;
/**
* 认可标志专用章id(签章表id)
*/
@TableField("approval_sign_id")
+ @ApiModelProperty(value = "认可标志专用章id", dataType = "Long")
private Long approvalSignId;
/**
* 证书报告附件(minio存储文件名)
*/
@TableField("certificate_report_file")
+ @ApiModelProperty(value = "证书报告附件", dataType = "String")
private String certificateReportFile;
/**
* 原始记录id
*/
@TableField("original_record_id")
+ @ApiModelProperty(value = "原始记录id", dataType = "Long")
private Long originalRecordId;
/**
* 可打印状态(字典code)
*/
@TableField("print_status")
+ @ApiModelProperty(value = "可打印状态", dataType = "String")
private String printStatus;
/**
* 打印次数
*/
@TableField("print_num")
+ @ApiModelProperty(value = "打印次数", dataType = "Integer")
private Integer printNum;
/**
+ * 检定人员
+ */
+ @TableField("measure_person_id")
+ @ApiModelProperty(value = "检定人员", dataType = "String")
+ private String measurePersonId;
+
+ /**
* 可打印状态(字典code)
*/
@TableField("approval_status")
private String approvalStatus;
@TableField("remark")
+ @ApiModelProperty(value = "备注", dataType = "String")
private String remark;
@TableField("is_del")
@@ -147,4 +173,8 @@
@TableField("update_time")
private String updateTime;
+ @TableField(exist = false)
+ @ApiModelProperty(value = "原始记录信息", dataType = "Object")
+ private BusinessOriginalRecord businessOriginalRecord;
+
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java
index c918e35..201dc35 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
import com.casic.missiles.model.customer.CustomerSampleInfo;
import com.casic.missiles.model.equipment.EquipmentApplyFile;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
@@ -18,7 +20,7 @@
*
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@Data
@@ -47,9 +49,10 @@
/**
* 检校类别(字典code)
*/
- @TableField("calibration_category")
+ @TableField("measure_category")
@ApiModelProperty(value = "检校类别", dataType = "String")
- private String calibrationCategory;
+ @DictCodeField(message = "检校类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY)
+ private String measureCategory;
/**
* 检校时间
@@ -147,4 +150,8 @@
@TableField(exist = false)
@ApiModelProperty(value = "技术文件", dataType = "List")
private List fileList;
+
+ @TableField(exist = false)
+ @ApiModelProperty(value = "检校类别名称", dataType = "String")
+ private String measureCategoryName;
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
index ac5918e..59587af 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
@@ -1,20 +1,84 @@
package com.casic.missiles.service.Impl.business;
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.MonitorCodeEnum;
+import com.casic.missiles.enums.PrefixCodeEnum;
+import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.mapper.business.BusinessCertificateReportMapper;
import com.casic.missiles.model.business.BusinessCertificateReport;
+import com.casic.missiles.model.business.BusinessOriginalRecord;
import com.casic.missiles.service.business.IBusinessCertificateReportService;
+import com.casic.missiles.service.business.IBusinessOriginalRecordService;
+import com.casic.missiles.utils.NumberGeneratorUtil;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.Date;
+
/**
*
* 业务管理-证书报告 服务实现类
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@Service
public class BusinessCertificateReportServiceImpl extends ServiceImpl implements IBusinessCertificateReportService {
+
+ @Autowired
+ private IBusinessOriginalRecordService originalRecordService;
+ /**
+ * 保存证书报告信息
+ * @param certificateReport
+ * @return
+ */
+ @Override
+ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) {
+
+ initCertificateReport(certificateReport);
+ if(this.baseMapper.insert(certificateReport)>0)
+ return ReturnUtil.success();
+ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
+ }
+
+ /**
+ * 证书报告详情
+ * @param id
+ * @return
+ */
+ @Override
+ public BusinessCertificateReport certificateReportDetail(Long id) {
+ BusinessCertificateReport certificateReport = this.baseMapper.selectById(id);
+ if(certificateReport.getOriginalRecordId()!=null){
+ try {
+ certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId()));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ return certificateReport;
+ }
+
+ private void initCertificateReport(BusinessCertificateReport certificateReport) {
+
+ Long maxNo = this.baseMapper.selectMaxCode();
+ //生成证书编号
+ String certificateReportNo =NumberGeneratorUtil.getContactNo(
+ MonitorCodeEnum.valueOf(certificateReport.getCalibrationMajor()).getValue()
+ +DateUtil.format(new Date(),"YYYYMM"),maxNo);
+ AuthUser authUser = ShiroKit.getUser();
+ certificateReport.setCreateUser(authUser.getId());
+ certificateReport.setMeasurePersonId(authUser.getId()+"");
+ certificateReport.setCertificateReportCode(certificateReportNo);
+ }
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
index e2a7f92..4b19dcd 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -1,18 +1,207 @@
package com.casic.missiles.controller.business;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.*;
+import com.casic.missiles.dto.flowable.ApprovalDeleteRequest;
+import com.casic.missiles.dto.meter.*;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.ExportEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.business.BusinessCertificateReport;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.model.meter.MeterTraceSupplier;
+import com.casic.missiles.service.business.IBusinessCertificateReportService;
+import com.casic.missiles.service.meter.IMeterTraceSupplierService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
+import java.util.Objects;
/**
*
* 业务管理-证书报告 前端控制器
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@RestController
+@Api(tags = "证书报告模块")
@RequestMapping("/business/certificateReport")
-public class BusinessCertificateReportController {
+public class BusinessCertificateReportController extends ExportController {
+ @Resource
+ private IBusinessCertificateReportService certificateReportService;
+ @Autowired
+ private IMeterTraceSupplierService traceSupplierService;
+ @ApiOperation("证书报告列表(分页)")
+ @PostMapping("/listPage")
+ @ResponseBody
+ public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request)));
+ }
+ @ApiOperation("证书报告列表")
+ @PostMapping("/list")
+ @ResponseBody
+ public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(traceSupplierService.list(request));
+ }
+
+ @ApiOperation("证书报告导出")
+ @PostMapping("/listExport")
+ @ResponseBody
+ public void export(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) throws IOException {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ List list;
+ if (!CollectionUtils.isEmpty(request.getIds())) {
+ list = traceSupplierService.listByIds(request.getIds());
+ } else {
+ list = traceSupplierService.list(request);
+ }
+ super.exportExcel(MeterTraceSupplier.class, list, ExportEnum.TRACE_SUPPLIER_EXPORT.getSheetName());
+ }
+
+ @ApiOperation("证书报告保存(保存至草稿箱)")
+ @PostMapping("/save")
+ @ResponseBody
+ public ReturnDTO save(@RequestBody @Valid BusinessCertificateReport certificateReport, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(certificateReportService.saveCertificateReport(certificateReport));
+ }
+
+ /**
+ * 草稿箱文件编辑
+ */
+ @ApiOperation("草稿箱文件更新")
+ @PostMapping("/draftUpdate")
+ @ResponseBody
+ public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.draftUpdate(traceSupplier);
+ }
+
+ @ApiOperation("证书报告提交(未调用过保存接口保存至草稿箱需先调用保存接口,再调用该接口)")
+ @PostMapping("/submit")
+ @ResponseBody
+ public ReturnDTO traceSupplierSubmit(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.submitTraceSupplier(request);
+ }
+
+ @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)")
+ @PostMapping("/update")
+ @ResponseBody
+ public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return traceSupplierService.updateTraceSupplier(traceSupplier);
+ }
+
+ @ApiOperation("证书报告删除")
+ @PostMapping("/delete")
+ @ResponseBody
+ public ReturnDTO supplierDelete(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return traceSupplierService.deleteTraceSupplier(idDTO.getId());
+ }
+
+ @ApiOperation("证书报告批量删除")
+ @PostMapping("/batchDelete")
+ @ResponseBody
+ public ReturnDTO supplierBatchDelete(@RequestBody @Valid IdsDTO idsDTO) {
+ Assert.isFalse(CollectionUtils.isEmpty(idsDTO.getIds()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return traceSupplierService.deleteBatchTraceSupplier(idsDTO.getIds());
+ }
+
+ @ApiOperation("证书报告详情")
+ @PostMapping("/detail")
+ @ResponseBody
+ public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(certificateReportService.certificateReportDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("证书报告审批列表及详情中基础信息(分页),底部的人员信息等可用证书报告详情接口")
+ @PostMapping("/approval/listPage")
+ @ResponseBody
+ public ReturnDTO> approvalListPage(@RequestBody @Valid TraceSupplierApprovalListRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ List responseList = traceSupplierService.approvalListPage(page, request);
+ page.setRecords(responseList);
+ return ReturnUtil.success(super.packForBT(page));
+ }
+
+ /**
+ * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除)
+ * 前端控制按钮权限
+ */
+ @ApiOperation("审批操作-删除")
+ @PostMapping("/approval/operate/delete")
+ @ResponseBody
+ public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.approvalDelete(request);
+ }
+
+ /**
+ * 审批操作-编辑
+ * 驳回的流程放置在未通过列表中,实现进行编辑后自动审核通过发起人节点
+ */
+ @ApiOperation("未通过证书报告编辑(驳回后的证书报告重新编辑,仅未通过列表中的编辑按钮可调用)")
+ @PostMapping("/failUpdate")
+ @ResponseBody
+ public ReturnDTO failUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.failUpdate(traceSupplier);
+ }
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
index fa5fdee..f126f11 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -11,7 +11,6 @@
import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.exception.BusinessException;
-import com.casic.missiles.model.business.BusinessEnvironmentRecord;
import com.casic.missiles.model.business.BusinessOriginalRecord;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.service.business.IBusinessOriginalRecordService;
@@ -99,10 +98,10 @@
businessOriginalRecordService.originExport(request, response);
}
- @ApiOperation("获取设备")
- @PostMapping("/getEquipments")
- public void getEquipments() {
-// businessEnvironmentRecordService.environmentExport(request, response);
- }
+// @ApiOperation("获取设备")
+// @PostMapping("/getEquipments")
+// public void getEquipments() {
+//// businessEnvironmentRecordService.environmentExport(request, response);
+// }
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java
new file mode 100644
index 0000000..f84fb2f
--- /dev/null
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java
@@ -0,0 +1,49 @@
+package com.casic.missiles.enums;
+
+/**
+ * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀
+ * 无线电
+ * 光学
+ * 时间频率
+ * 电磁学
+ * 几何量
+ * 热学
+ * 力学
+ * 环境试验
+ * 电磁兼容
+ * 医疗器械
+ * 理化分析
+ * 电力系统
+ * @Author: zt
+ * @Date: 2023/2/18 14:40
+ */
+public enum MonitorCodeEnum {
+ WIRELESS("1", "RIM"),
+ OPTICS("2", "TOE"),
+ TIME_FREQUENCY("3", "TTF"),
+ EMC("4", "DMS"),
+ GEOMETRY("5", "JHL"),
+ HEAT("6", "RXZ"),
+ DYNAMICS("7", "LXZ"),
+ ENVIRONMENT_TEST("8", "TET"),
+ DCJR("9", "EMC"),
+ YLQX("10", "DCJ"),
+ LHFX("11", "LHF"),
+ DLXT("12", "DLX");
+
+ private String code;
+ private String value;
+
+ MonitorCodeEnum(String code, String value) {
+ this.code = code;
+ this.value = value;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public String getValue() {
+ return value;
+ }
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
index 499ba5c..add1f9e 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
@@ -8,6 +8,7 @@
import org.apache.ibatis.annotations.Param;
import java.util.List;
+import org.apache.ibatis.annotations.Select;
/**
*
@@ -23,4 +24,7 @@
+ @Select("SELECT IFNULL(max(RIGHT(certificate_report_code, 12)), 0) from business_certificate_report")
+ Long selectMaxCode();
+
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
index 3f2b326..b4d8744 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
@@ -7,7 +7,7 @@
-
+
@@ -24,13 +24,13 @@
-
+
bor.*
SELECT
-
+
FROM business_original_record bor
LEFT JOIN customer_sample_info cs ON bor.sample_id = cs.id
WHERE bor.is_del =0
@@ -38,7 +38,7 @@
and bor.original_record_code like concat('%', #{request.originalRecordCode}, '%')
- and cs.sample_no like concat('%', #{request.sampleN}, '%')
+ and cs.sample_no like concat('%', #{request.sampleNo}, '%')
and cs.sample_name like concat('%', #{request.sampleName}, '%')
@@ -49,8 +49,8 @@
and cs.manufacturing_no like concat('%', #{request.manufacturingNo}, '%')
-
- and bor.measure_category = #{request.calibrationCategory}
+
+ and bor.measure_category = #{request.measureCategory}
and bor.create_user = #{request.createUser}
@@ -61,13 +61,15 @@
SELECT
- ,
- cs.sample_no AS sampleNo,
- cs.sample_name AS sampleName,
- cs.sample_model AS samplemModel,
- cs.manufacturing_no AS manufacturingNo
+ ,
+ cs.sample_no AS sampleNo,
+ cs.sample_name AS sampleName,
+ cs.sample_model AS sampleModel,
+ cs.manufacturing_no AS manufacturingNo,
+ su.name AS createUserName
FROM business_original_record bor
LEFT JOIN customer_sample_info cs ON bor.sample_id = cs.id
+ LEFT JOIN sys_user su ON su.id = bor.create_user
WHERE bor.is_del =0
and bor.original_record_code like concat('%', #{request.originalRecordCode}, '%')
@@ -84,12 +86,19 @@
and cs.manufacturing_no like concat('%', #{request.manufacturingNo}, '%')
-
- and bor.measure_category = #{request.calibrationCategory}
+
+ and bor.measure_category = #{request.measureCategory}
and bor.create_user = #{request.createUser}
+
+
+ AND bor.id IN
+
+ #{item}
+
+
ORDER BY bor.create_time DESC
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java
index 6b7ddc9..db821a7 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java
@@ -4,6 +4,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
@Data
@ApiModel
public class EnvironmentListRequest {
@@ -19,4 +21,8 @@
@ApiModelProperty(value = "结束时间", dataType = "String")
private String endTime;
+
+ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List")
+ private List ids;
+
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
index cc0dac1..01759aa 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
@@ -4,6 +4,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
@Data
@ApiModel
public class OriginRecordRequest {
@@ -24,8 +26,11 @@
private String manufacturingNo;
@ApiModelProperty(value = "校验类别", dataType = "String")
- private String calibrationCategory;
+ private String measureCategory;
@ApiModelProperty(value = "创建人", dataType = "String")
private String createUser;
+
+ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List")
+ private List ids;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
index 4c0521d..2dd8e21 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
@@ -7,6 +7,8 @@
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.enums.poi.BorderStyleEnum;
+import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -48,8 +50,12 @@
private String manufacturingNo;
@ApiModelProperty(value = "检校类别", dataType = "String")
+ @DictCodeField(message = "检校类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY)
+ private String measureCategory;
+
+ @ApiModelProperty(value = "检校类别", dataType = "String")
@ExcelProperty(value = "检校类别", order = 6)
- private String calibrationCategory;
+ private String measureCategoryName;
@ApiModelProperty(value = "检校时间", dataType = "String")
private String calibrationTime;
@@ -84,7 +90,7 @@
@ApiModelProperty(value = "创建人", dataType = "String")
@ExcelProperty(value = "创建人", order = 7)
- private String createUser;
+ private String createUserName;
@ApiModelProperty(value = "创建时间", dataType = "String")
@ExcelProperty(value = "创建时间", order = 8)
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java
index 122382c..1e0c46f 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@@ -12,7 +13,7 @@
* 业务管理-证书报告
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@Data
@@ -28,111 +29,136 @@
* 证书报告编号
*/
@TableField("certificate_report_code")
+ @ApiModelProperty(value = "证书报告编号", dataType = "String")
private String certificateReportCode;
/**
* 证书报告名称
*/
@TableField("certificate_report_name")
+ @ApiModelProperty(value = "证书报告名称", dataType = "String")
private String certificateReportName;
/**
* 证书类别,多个逗号分割(字典code)
*/
@TableField("certificate_report_category")
+ @ApiModelProperty(value = "证书类别,多个逗号分割(字典code)", dataType = "String")
private String certificateReportCategory;
/**
* 委托书id
*/
@TableField("order_id")
+ @ApiModelProperty(value = "委托书id", dataType = "Long")
private Long orderId;
/**
* 样品id
*/
@TableField("sample_id")
+ @ApiModelProperty(value = "样品id", dataType = "Long")
private Long sampleId;
/**
* 检定部门id(可用于获取实验室已完成证书个数)
*/
@TableField("measure_dept_id")
+ @ApiModelProperty(value = "检定部门id", dataType = "Long")
private Long measureDeptId;
/**
* 检校专业(字典code)
*/
@TableField("calibration_major")
+ @ApiModelProperty(value = "检校专业", dataType = "String")
private String calibrationMajor;
/**
* 出具日期
*/
@TableField("issuance_date")
+ @ApiModelProperty(value = "出具日期", dataType = "String")
private String issuanceDate;
/**
* 证书有效期
*/
@TableField("expiration_date")
+ @ApiModelProperty(value = "证书有效期", dataType = "String")
private String expirationDate;
/**
* 检定结果(字典code)
*/
@TableField("measure_result")
+ @ApiModelProperty(value = "检定结果", dataType = "String")
private String measureResult;
/**
* 证书报告模板id
*/
@TableField("template_id")
+ @ApiModelProperty(value = "证书报告模板id", dataType = "Long")
private Long templateId;
/**
* 电子签章id(签章表id)
*/
@TableField("sign_id")
+ @ApiModelProperty(value = "电子签章id", dataType = "Long")
private Long signId;
/**
* 认可标志专用章id(签章表id)
*/
@TableField("approval_sign_id")
+ @ApiModelProperty(value = "认可标志专用章id", dataType = "Long")
private Long approvalSignId;
/**
* 证书报告附件(minio存储文件名)
*/
@TableField("certificate_report_file")
+ @ApiModelProperty(value = "证书报告附件", dataType = "String")
private String certificateReportFile;
/**
* 原始记录id
*/
@TableField("original_record_id")
+ @ApiModelProperty(value = "原始记录id", dataType = "Long")
private Long originalRecordId;
/**
* 可打印状态(字典code)
*/
@TableField("print_status")
+ @ApiModelProperty(value = "可打印状态", dataType = "String")
private String printStatus;
/**
* 打印次数
*/
@TableField("print_num")
+ @ApiModelProperty(value = "打印次数", dataType = "Integer")
private Integer printNum;
/**
+ * 检定人员
+ */
+ @TableField("measure_person_id")
+ @ApiModelProperty(value = "检定人员", dataType = "String")
+ private String measurePersonId;
+
+ /**
* 可打印状态(字典code)
*/
@TableField("approval_status")
private String approvalStatus;
@TableField("remark")
+ @ApiModelProperty(value = "备注", dataType = "String")
private String remark;
@TableField("is_del")
@@ -147,4 +173,8 @@
@TableField("update_time")
private String updateTime;
+ @TableField(exist = false)
+ @ApiModelProperty(value = "原始记录信息", dataType = "Object")
+ private BusinessOriginalRecord businessOriginalRecord;
+
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java
index c918e35..201dc35 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
import com.casic.missiles.model.customer.CustomerSampleInfo;
import com.casic.missiles.model.equipment.EquipmentApplyFile;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
@@ -18,7 +20,7 @@
*
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@Data
@@ -47,9 +49,10 @@
/**
* 检校类别(字典code)
*/
- @TableField("calibration_category")
+ @TableField("measure_category")
@ApiModelProperty(value = "检校类别", dataType = "String")
- private String calibrationCategory;
+ @DictCodeField(message = "检校类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY)
+ private String measureCategory;
/**
* 检校时间
@@ -147,4 +150,8 @@
@TableField(exist = false)
@ApiModelProperty(value = "技术文件", dataType = "List")
private List fileList;
+
+ @TableField(exist = false)
+ @ApiModelProperty(value = "检校类别名称", dataType = "String")
+ private String measureCategoryName;
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
index ac5918e..59587af 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
@@ -1,20 +1,84 @@
package com.casic.missiles.service.Impl.business;
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.MonitorCodeEnum;
+import com.casic.missiles.enums.PrefixCodeEnum;
+import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.mapper.business.BusinessCertificateReportMapper;
import com.casic.missiles.model.business.BusinessCertificateReport;
+import com.casic.missiles.model.business.BusinessOriginalRecord;
import com.casic.missiles.service.business.IBusinessCertificateReportService;
+import com.casic.missiles.service.business.IBusinessOriginalRecordService;
+import com.casic.missiles.utils.NumberGeneratorUtil;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.Date;
+
/**
*
* 业务管理-证书报告 服务实现类
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@Service
public class BusinessCertificateReportServiceImpl extends ServiceImpl implements IBusinessCertificateReportService {
+
+ @Autowired
+ private IBusinessOriginalRecordService originalRecordService;
+ /**
+ * 保存证书报告信息
+ * @param certificateReport
+ * @return
+ */
+ @Override
+ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) {
+
+ initCertificateReport(certificateReport);
+ if(this.baseMapper.insert(certificateReport)>0)
+ return ReturnUtil.success();
+ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
+ }
+
+ /**
+ * 证书报告详情
+ * @param id
+ * @return
+ */
+ @Override
+ public BusinessCertificateReport certificateReportDetail(Long id) {
+ BusinessCertificateReport certificateReport = this.baseMapper.selectById(id);
+ if(certificateReport.getOriginalRecordId()!=null){
+ try {
+ certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId()));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ return certificateReport;
+ }
+
+ private void initCertificateReport(BusinessCertificateReport certificateReport) {
+
+ Long maxNo = this.baseMapper.selectMaxCode();
+ //生成证书编号
+ String certificateReportNo =NumberGeneratorUtil.getContactNo(
+ MonitorCodeEnum.valueOf(certificateReport.getCalibrationMajor()).getValue()
+ +DateUtil.format(new Date(),"YYYYMM"),maxNo);
+ AuthUser authUser = ShiroKit.getUser();
+ certificateReport.setCreateUser(authUser.getId());
+ certificateReport.setMeasurePersonId(authUser.getId()+"");
+ certificateReport.setCertificateReportCode(certificateReportNo);
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java
index 219919f..c4ed5f6 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java
@@ -18,6 +18,7 @@
import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper;
import com.casic.missiles.mapper.business.EnvironmentListResponseMapper;
import com.casic.missiles.model.business.BusinessEnvironmentRecord;
+import com.casic.missiles.model.equipment.EquipmentFixedAssets;
import com.casic.missiles.service.business.IBusinessEnvironmentRecordService;
import com.casic.missiles.utils.DictCodeUtils;
import com.casic.missiles.utils.NumberGeneratorUtil;
@@ -94,7 +95,8 @@
QueryWrapper wrapper = listParamWrapper(request);
List environmentListResponseList = this.environmentListResponseMapper.selectList(wrapper);
try {
- iBaseExportService.exportExcel(response, EnvironmentListResponse.class, environmentListResponseList, ExportEnum.ENVIRONMENT_DATA.getSheetName());
+ iBaseExportService.exportExcel(response, EnvironmentListResponse.class,
+ environmentListResponseList, ExportEnum.ENVIRONMENT_DATA.getSheetName());
} catch (IOException e) {
log.error("环境记录单导出出现异常,异常信息为{}", e);
}
@@ -114,6 +116,9 @@
private QueryWrapper listParamWrapper(EnvironmentListRequest request) {
QueryWrapper wrapper = new QueryWrapper<>();
+ if(!CollectionUtils.isEmpty(request.getIds()) && request.getIds().size()!=0){
+ wrapper.in("id", request.getIds());
+ }
wrapper.like(StringUtils.isNotBlank(request.getEnvironmentCode()), "environment_code", request.getEnvironmentCode());
wrapper.like(StringUtils.isNotBlank(request.getRoomNumber()), "room_number", request.getRoomNumber());
wrapper.apply(StringUtils.isNotBlank(request.getStartTime()),//apply方法传入参数名不能为空
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
index e2a7f92..4b19dcd 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -1,18 +1,207 @@
package com.casic.missiles.controller.business;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.*;
+import com.casic.missiles.dto.flowable.ApprovalDeleteRequest;
+import com.casic.missiles.dto.meter.*;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.ExportEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.business.BusinessCertificateReport;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.model.meter.MeterTraceSupplier;
+import com.casic.missiles.service.business.IBusinessCertificateReportService;
+import com.casic.missiles.service.meter.IMeterTraceSupplierService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
+import java.util.Objects;
/**
*
* 业务管理-证书报告 前端控制器
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@RestController
+@Api(tags = "证书报告模块")
@RequestMapping("/business/certificateReport")
-public class BusinessCertificateReportController {
+public class BusinessCertificateReportController extends ExportController {
+ @Resource
+ private IBusinessCertificateReportService certificateReportService;
+ @Autowired
+ private IMeterTraceSupplierService traceSupplierService;
+ @ApiOperation("证书报告列表(分页)")
+ @PostMapping("/listPage")
+ @ResponseBody
+ public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request)));
+ }
+ @ApiOperation("证书报告列表")
+ @PostMapping("/list")
+ @ResponseBody
+ public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(traceSupplierService.list(request));
+ }
+
+ @ApiOperation("证书报告导出")
+ @PostMapping("/listExport")
+ @ResponseBody
+ public void export(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) throws IOException {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ List list;
+ if (!CollectionUtils.isEmpty(request.getIds())) {
+ list = traceSupplierService.listByIds(request.getIds());
+ } else {
+ list = traceSupplierService.list(request);
+ }
+ super.exportExcel(MeterTraceSupplier.class, list, ExportEnum.TRACE_SUPPLIER_EXPORT.getSheetName());
+ }
+
+ @ApiOperation("证书报告保存(保存至草稿箱)")
+ @PostMapping("/save")
+ @ResponseBody
+ public ReturnDTO save(@RequestBody @Valid BusinessCertificateReport certificateReport, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(certificateReportService.saveCertificateReport(certificateReport));
+ }
+
+ /**
+ * 草稿箱文件编辑
+ */
+ @ApiOperation("草稿箱文件更新")
+ @PostMapping("/draftUpdate")
+ @ResponseBody
+ public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.draftUpdate(traceSupplier);
+ }
+
+ @ApiOperation("证书报告提交(未调用过保存接口保存至草稿箱需先调用保存接口,再调用该接口)")
+ @PostMapping("/submit")
+ @ResponseBody
+ public ReturnDTO traceSupplierSubmit(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.submitTraceSupplier(request);
+ }
+
+ @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)")
+ @PostMapping("/update")
+ @ResponseBody
+ public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return traceSupplierService.updateTraceSupplier(traceSupplier);
+ }
+
+ @ApiOperation("证书报告删除")
+ @PostMapping("/delete")
+ @ResponseBody
+ public ReturnDTO supplierDelete(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return traceSupplierService.deleteTraceSupplier(idDTO.getId());
+ }
+
+ @ApiOperation("证书报告批量删除")
+ @PostMapping("/batchDelete")
+ @ResponseBody
+ public ReturnDTO supplierBatchDelete(@RequestBody @Valid IdsDTO idsDTO) {
+ Assert.isFalse(CollectionUtils.isEmpty(idsDTO.getIds()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return traceSupplierService.deleteBatchTraceSupplier(idsDTO.getIds());
+ }
+
+ @ApiOperation("证书报告详情")
+ @PostMapping("/detail")
+ @ResponseBody
+ public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(certificateReportService.certificateReportDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("证书报告审批列表及详情中基础信息(分页),底部的人员信息等可用证书报告详情接口")
+ @PostMapping("/approval/listPage")
+ @ResponseBody
+ public ReturnDTO> approvalListPage(@RequestBody @Valid TraceSupplierApprovalListRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ List responseList = traceSupplierService.approvalListPage(page, request);
+ page.setRecords(responseList);
+ return ReturnUtil.success(super.packForBT(page));
+ }
+
+ /**
+ * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除)
+ * 前端控制按钮权限
+ */
+ @ApiOperation("审批操作-删除")
+ @PostMapping("/approval/operate/delete")
+ @ResponseBody
+ public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.approvalDelete(request);
+ }
+
+ /**
+ * 审批操作-编辑
+ * 驳回的流程放置在未通过列表中,实现进行编辑后自动审核通过发起人节点
+ */
+ @ApiOperation("未通过证书报告编辑(驳回后的证书报告重新编辑,仅未通过列表中的编辑按钮可调用)")
+ @PostMapping("/failUpdate")
+ @ResponseBody
+ public ReturnDTO failUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.failUpdate(traceSupplier);
+ }
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
index fa5fdee..f126f11 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -11,7 +11,6 @@
import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.exception.BusinessException;
-import com.casic.missiles.model.business.BusinessEnvironmentRecord;
import com.casic.missiles.model.business.BusinessOriginalRecord;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.service.business.IBusinessOriginalRecordService;
@@ -99,10 +98,10 @@
businessOriginalRecordService.originExport(request, response);
}
- @ApiOperation("获取设备")
- @PostMapping("/getEquipments")
- public void getEquipments() {
-// businessEnvironmentRecordService.environmentExport(request, response);
- }
+// @ApiOperation("获取设备")
+// @PostMapping("/getEquipments")
+// public void getEquipments() {
+//// businessEnvironmentRecordService.environmentExport(request, response);
+// }
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java
new file mode 100644
index 0000000..f84fb2f
--- /dev/null
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java
@@ -0,0 +1,49 @@
+package com.casic.missiles.enums;
+
+/**
+ * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀
+ * 无线电
+ * 光学
+ * 时间频率
+ * 电磁学
+ * 几何量
+ * 热学
+ * 力学
+ * 环境试验
+ * 电磁兼容
+ * 医疗器械
+ * 理化分析
+ * 电力系统
+ * @Author: zt
+ * @Date: 2023/2/18 14:40
+ */
+public enum MonitorCodeEnum {
+ WIRELESS("1", "RIM"),
+ OPTICS("2", "TOE"),
+ TIME_FREQUENCY("3", "TTF"),
+ EMC("4", "DMS"),
+ GEOMETRY("5", "JHL"),
+ HEAT("6", "RXZ"),
+ DYNAMICS("7", "LXZ"),
+ ENVIRONMENT_TEST("8", "TET"),
+ DCJR("9", "EMC"),
+ YLQX("10", "DCJ"),
+ LHFX("11", "LHF"),
+ DLXT("12", "DLX");
+
+ private String code;
+ private String value;
+
+ MonitorCodeEnum(String code, String value) {
+ this.code = code;
+ this.value = value;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public String getValue() {
+ return value;
+ }
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
index 499ba5c..add1f9e 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
@@ -8,6 +8,7 @@
import org.apache.ibatis.annotations.Param;
import java.util.List;
+import org.apache.ibatis.annotations.Select;
/**
*
@@ -23,4 +24,7 @@
+ @Select("SELECT IFNULL(max(RIGHT(certificate_report_code, 12)), 0) from business_certificate_report")
+ Long selectMaxCode();
+
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
index 3f2b326..b4d8744 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
@@ -7,7 +7,7 @@
-
+
@@ -24,13 +24,13 @@
-
+
bor.*
SELECT
-
+
FROM business_original_record bor
LEFT JOIN customer_sample_info cs ON bor.sample_id = cs.id
WHERE bor.is_del =0
@@ -38,7 +38,7 @@
and bor.original_record_code like concat('%', #{request.originalRecordCode}, '%')
- and cs.sample_no like concat('%', #{request.sampleN}, '%')
+ and cs.sample_no like concat('%', #{request.sampleNo}, '%')
and cs.sample_name like concat('%', #{request.sampleName}, '%')
@@ -49,8 +49,8 @@
and cs.manufacturing_no like concat('%', #{request.manufacturingNo}, '%')
-
- and bor.measure_category = #{request.calibrationCategory}
+
+ and bor.measure_category = #{request.measureCategory}
and bor.create_user = #{request.createUser}
@@ -61,13 +61,15 @@
SELECT
- ,
- cs.sample_no AS sampleNo,
- cs.sample_name AS sampleName,
- cs.sample_model AS samplemModel,
- cs.manufacturing_no AS manufacturingNo
+ ,
+ cs.sample_no AS sampleNo,
+ cs.sample_name AS sampleName,
+ cs.sample_model AS sampleModel,
+ cs.manufacturing_no AS manufacturingNo,
+ su.name AS createUserName
FROM business_original_record bor
LEFT JOIN customer_sample_info cs ON bor.sample_id = cs.id
+ LEFT JOIN sys_user su ON su.id = bor.create_user
WHERE bor.is_del =0
and bor.original_record_code like concat('%', #{request.originalRecordCode}, '%')
@@ -84,12 +86,19 @@
and cs.manufacturing_no like concat('%', #{request.manufacturingNo}, '%')
-
- and bor.measure_category = #{request.calibrationCategory}
+
+ and bor.measure_category = #{request.measureCategory}
and bor.create_user = #{request.createUser}
+
+
+ AND bor.id IN
+
+ #{item}
+
+
ORDER BY bor.create_time DESC
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java
index 6b7ddc9..db821a7 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java
@@ -4,6 +4,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
@Data
@ApiModel
public class EnvironmentListRequest {
@@ -19,4 +21,8 @@
@ApiModelProperty(value = "结束时间", dataType = "String")
private String endTime;
+
+ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List")
+ private List ids;
+
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
index cc0dac1..01759aa 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
@@ -4,6 +4,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
@Data
@ApiModel
public class OriginRecordRequest {
@@ -24,8 +26,11 @@
private String manufacturingNo;
@ApiModelProperty(value = "校验类别", dataType = "String")
- private String calibrationCategory;
+ private String measureCategory;
@ApiModelProperty(value = "创建人", dataType = "String")
private String createUser;
+
+ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List")
+ private List ids;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
index 4c0521d..2dd8e21 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
@@ -7,6 +7,8 @@
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.enums.poi.BorderStyleEnum;
+import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -48,8 +50,12 @@
private String manufacturingNo;
@ApiModelProperty(value = "检校类别", dataType = "String")
+ @DictCodeField(message = "检校类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY)
+ private String measureCategory;
+
+ @ApiModelProperty(value = "检校类别", dataType = "String")
@ExcelProperty(value = "检校类别", order = 6)
- private String calibrationCategory;
+ private String measureCategoryName;
@ApiModelProperty(value = "检校时间", dataType = "String")
private String calibrationTime;
@@ -84,7 +90,7 @@
@ApiModelProperty(value = "创建人", dataType = "String")
@ExcelProperty(value = "创建人", order = 7)
- private String createUser;
+ private String createUserName;
@ApiModelProperty(value = "创建时间", dataType = "String")
@ExcelProperty(value = "创建时间", order = 8)
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java
index 122382c..1e0c46f 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@@ -12,7 +13,7 @@
* 业务管理-证书报告
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@Data
@@ -28,111 +29,136 @@
* 证书报告编号
*/
@TableField("certificate_report_code")
+ @ApiModelProperty(value = "证书报告编号", dataType = "String")
private String certificateReportCode;
/**
* 证书报告名称
*/
@TableField("certificate_report_name")
+ @ApiModelProperty(value = "证书报告名称", dataType = "String")
private String certificateReportName;
/**
* 证书类别,多个逗号分割(字典code)
*/
@TableField("certificate_report_category")
+ @ApiModelProperty(value = "证书类别,多个逗号分割(字典code)", dataType = "String")
private String certificateReportCategory;
/**
* 委托书id
*/
@TableField("order_id")
+ @ApiModelProperty(value = "委托书id", dataType = "Long")
private Long orderId;
/**
* 样品id
*/
@TableField("sample_id")
+ @ApiModelProperty(value = "样品id", dataType = "Long")
private Long sampleId;
/**
* 检定部门id(可用于获取实验室已完成证书个数)
*/
@TableField("measure_dept_id")
+ @ApiModelProperty(value = "检定部门id", dataType = "Long")
private Long measureDeptId;
/**
* 检校专业(字典code)
*/
@TableField("calibration_major")
+ @ApiModelProperty(value = "检校专业", dataType = "String")
private String calibrationMajor;
/**
* 出具日期
*/
@TableField("issuance_date")
+ @ApiModelProperty(value = "出具日期", dataType = "String")
private String issuanceDate;
/**
* 证书有效期
*/
@TableField("expiration_date")
+ @ApiModelProperty(value = "证书有效期", dataType = "String")
private String expirationDate;
/**
* 检定结果(字典code)
*/
@TableField("measure_result")
+ @ApiModelProperty(value = "检定结果", dataType = "String")
private String measureResult;
/**
* 证书报告模板id
*/
@TableField("template_id")
+ @ApiModelProperty(value = "证书报告模板id", dataType = "Long")
private Long templateId;
/**
* 电子签章id(签章表id)
*/
@TableField("sign_id")
+ @ApiModelProperty(value = "电子签章id", dataType = "Long")
private Long signId;
/**
* 认可标志专用章id(签章表id)
*/
@TableField("approval_sign_id")
+ @ApiModelProperty(value = "认可标志专用章id", dataType = "Long")
private Long approvalSignId;
/**
* 证书报告附件(minio存储文件名)
*/
@TableField("certificate_report_file")
+ @ApiModelProperty(value = "证书报告附件", dataType = "String")
private String certificateReportFile;
/**
* 原始记录id
*/
@TableField("original_record_id")
+ @ApiModelProperty(value = "原始记录id", dataType = "Long")
private Long originalRecordId;
/**
* 可打印状态(字典code)
*/
@TableField("print_status")
+ @ApiModelProperty(value = "可打印状态", dataType = "String")
private String printStatus;
/**
* 打印次数
*/
@TableField("print_num")
+ @ApiModelProperty(value = "打印次数", dataType = "Integer")
private Integer printNum;
/**
+ * 检定人员
+ */
+ @TableField("measure_person_id")
+ @ApiModelProperty(value = "检定人员", dataType = "String")
+ private String measurePersonId;
+
+ /**
* 可打印状态(字典code)
*/
@TableField("approval_status")
private String approvalStatus;
@TableField("remark")
+ @ApiModelProperty(value = "备注", dataType = "String")
private String remark;
@TableField("is_del")
@@ -147,4 +173,8 @@
@TableField("update_time")
private String updateTime;
+ @TableField(exist = false)
+ @ApiModelProperty(value = "原始记录信息", dataType = "Object")
+ private BusinessOriginalRecord businessOriginalRecord;
+
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java
index c918e35..201dc35 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
import com.casic.missiles.model.customer.CustomerSampleInfo;
import com.casic.missiles.model.equipment.EquipmentApplyFile;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
@@ -18,7 +20,7 @@
*
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@Data
@@ -47,9 +49,10 @@
/**
* 检校类别(字典code)
*/
- @TableField("calibration_category")
+ @TableField("measure_category")
@ApiModelProperty(value = "检校类别", dataType = "String")
- private String calibrationCategory;
+ @DictCodeField(message = "检校类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY)
+ private String measureCategory;
/**
* 检校时间
@@ -147,4 +150,8 @@
@TableField(exist = false)
@ApiModelProperty(value = "技术文件", dataType = "List")
private List fileList;
+
+ @TableField(exist = false)
+ @ApiModelProperty(value = "检校类别名称", dataType = "String")
+ private String measureCategoryName;
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
index ac5918e..59587af 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
@@ -1,20 +1,84 @@
package com.casic.missiles.service.Impl.business;
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.MonitorCodeEnum;
+import com.casic.missiles.enums.PrefixCodeEnum;
+import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.mapper.business.BusinessCertificateReportMapper;
import com.casic.missiles.model.business.BusinessCertificateReport;
+import com.casic.missiles.model.business.BusinessOriginalRecord;
import com.casic.missiles.service.business.IBusinessCertificateReportService;
+import com.casic.missiles.service.business.IBusinessOriginalRecordService;
+import com.casic.missiles.utils.NumberGeneratorUtil;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.Date;
+
/**
*
* 业务管理-证书报告 服务实现类
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@Service
public class BusinessCertificateReportServiceImpl extends ServiceImpl implements IBusinessCertificateReportService {
+
+ @Autowired
+ private IBusinessOriginalRecordService originalRecordService;
+ /**
+ * 保存证书报告信息
+ * @param certificateReport
+ * @return
+ */
+ @Override
+ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) {
+
+ initCertificateReport(certificateReport);
+ if(this.baseMapper.insert(certificateReport)>0)
+ return ReturnUtil.success();
+ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
+ }
+
+ /**
+ * 证书报告详情
+ * @param id
+ * @return
+ */
+ @Override
+ public BusinessCertificateReport certificateReportDetail(Long id) {
+ BusinessCertificateReport certificateReport = this.baseMapper.selectById(id);
+ if(certificateReport.getOriginalRecordId()!=null){
+ try {
+ certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId()));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ return certificateReport;
+ }
+
+ private void initCertificateReport(BusinessCertificateReport certificateReport) {
+
+ Long maxNo = this.baseMapper.selectMaxCode();
+ //生成证书编号
+ String certificateReportNo =NumberGeneratorUtil.getContactNo(
+ MonitorCodeEnum.valueOf(certificateReport.getCalibrationMajor()).getValue()
+ +DateUtil.format(new Date(),"YYYYMM"),maxNo);
+ AuthUser authUser = ShiroKit.getUser();
+ certificateReport.setCreateUser(authUser.getId());
+ certificateReport.setMeasurePersonId(authUser.getId()+"");
+ certificateReport.setCertificateReportCode(certificateReportNo);
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java
index 219919f..c4ed5f6 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java
@@ -18,6 +18,7 @@
import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper;
import com.casic.missiles.mapper.business.EnvironmentListResponseMapper;
import com.casic.missiles.model.business.BusinessEnvironmentRecord;
+import com.casic.missiles.model.equipment.EquipmentFixedAssets;
import com.casic.missiles.service.business.IBusinessEnvironmentRecordService;
import com.casic.missiles.utils.DictCodeUtils;
import com.casic.missiles.utils.NumberGeneratorUtil;
@@ -94,7 +95,8 @@
QueryWrapper wrapper = listParamWrapper(request);
List environmentListResponseList = this.environmentListResponseMapper.selectList(wrapper);
try {
- iBaseExportService.exportExcel(response, EnvironmentListResponse.class, environmentListResponseList, ExportEnum.ENVIRONMENT_DATA.getSheetName());
+ iBaseExportService.exportExcel(response, EnvironmentListResponse.class,
+ environmentListResponseList, ExportEnum.ENVIRONMENT_DATA.getSheetName());
} catch (IOException e) {
log.error("环境记录单导出出现异常,异常信息为{}", e);
}
@@ -114,6 +116,9 @@
private QueryWrapper listParamWrapper(EnvironmentListRequest request) {
QueryWrapper wrapper = new QueryWrapper<>();
+ if(!CollectionUtils.isEmpty(request.getIds()) && request.getIds().size()!=0){
+ wrapper.in("id", request.getIds());
+ }
wrapper.like(StringUtils.isNotBlank(request.getEnvironmentCode()), "environment_code", request.getEnvironmentCode());
wrapper.like(StringUtils.isNotBlank(request.getRoomNumber()), "room_number", request.getRoomNumber());
wrapper.apply(StringUtils.isNotBlank(request.getStartTime()),//apply方法传入参数名不能为空
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
index 7dda5c3..046e4aa 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
@@ -113,11 +113,26 @@
@Override
public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) {
- return null;
+ if (this.baseMapper.insert(businessOriginalRecord) > 0) {
+ //加入技术文件绑定
+ if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) {
+ originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList());
+ }
+ //加入所用设备绑定
+ if (ObjectUtil.isNotEmpty(businessOriginalRecord.getEquipmentInfoList()) && businessOriginalRecord.getEquipmentInfoList().size() > 0) {
+ originalRecordEquipmentRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getEquipmentInfoList());
+ }
+ return ReturnUtil.success();
+ }
+ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
}
- @Transactional
+ /**
+ * @param businessOriginalRecord
+ * @return
+ */
@Override
+ @Transactional
public ReturnDTO addOriginal(BusinessOriginalRecord businessOriginalRecord) {
initBusinessEnvironmentRecord(businessOriginalRecord);
if (baseMapper.insert(businessOriginalRecord) > 0) {
@@ -136,11 +151,14 @@
@Override
public void originExport(OriginRecordRequest request, HttpServletResponse response) {
-
- List originExportList = this.baseMapper.originExportList(request);
try {
+ List originExportList = this.baseMapper.originExportList(request);
+ for (OriginRecordResponse originRecordResponse : originExportList) {
+ //字典值转换
+ DictCodeUtils.convertDictCodeToName(originRecordResponse);
+ }
iBaseExportService.exportExcel(response, OriginRecordResponse.class, originExportList, ExportEnum.ORIGIN_DATA.getSheetName());
- } catch (IOException e) {
+ } catch (Exception e) {
log.error("环境记录单导出出现异常,异常信息为{}", e);
}
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
index e2a7f92..4b19dcd 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessCertificateReportController.java
@@ -1,18 +1,207 @@
package com.casic.missiles.controller.business;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.base.controller.ExportController;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.*;
+import com.casic.missiles.dto.flowable.ApprovalDeleteRequest;
+import com.casic.missiles.dto.meter.*;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.ExportEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.business.BusinessCertificateReport;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.model.meter.MeterTraceSupplier;
+import com.casic.missiles.service.business.IBusinessCertificateReportService;
+import com.casic.missiles.service.meter.IMeterTraceSupplierService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
+import java.util.Objects;
/**
*
* 业务管理-证书报告 前端控制器
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@RestController
+@Api(tags = "证书报告模块")
@RequestMapping("/business/certificateReport")
-public class BusinessCertificateReportController {
+public class BusinessCertificateReportController extends ExportController {
+ @Resource
+ private IBusinessCertificateReportService certificateReportService;
+ @Autowired
+ private IMeterTraceSupplierService traceSupplierService;
+ @ApiOperation("证书报告列表(分页)")
+ @PostMapping("/listPage")
+ @ResponseBody
+ public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request)));
+ }
+ @ApiOperation("证书报告列表")
+ @PostMapping("/list")
+ @ResponseBody
+ public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(traceSupplierService.list(request));
+ }
+
+ @ApiOperation("证书报告导出")
+ @PostMapping("/listExport")
+ @ResponseBody
+ public void export(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) throws IOException {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ List list;
+ if (!CollectionUtils.isEmpty(request.getIds())) {
+ list = traceSupplierService.listByIds(request.getIds());
+ } else {
+ list = traceSupplierService.list(request);
+ }
+ super.exportExcel(MeterTraceSupplier.class, list, ExportEnum.TRACE_SUPPLIER_EXPORT.getSheetName());
+ }
+
+ @ApiOperation("证书报告保存(保存至草稿箱)")
+ @PostMapping("/save")
+ @ResponseBody
+ public ReturnDTO save(@RequestBody @Valid BusinessCertificateReport certificateReport, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(certificateReportService.saveCertificateReport(certificateReport));
+ }
+
+ /**
+ * 草稿箱文件编辑
+ */
+ @ApiOperation("草稿箱文件更新")
+ @PostMapping("/draftUpdate")
+ @ResponseBody
+ public ReturnDTO draftUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.draftUpdate(traceSupplier);
+ }
+
+ @ApiOperation("证书报告提交(未调用过保存接口保存至草稿箱需先调用保存接口,再调用该接口)")
+ @PostMapping("/submit")
+ @ResponseBody
+ public ReturnDTO traceSupplierSubmit(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.submitTraceSupplier(request);
+ }
+
+ @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)")
+ @PostMapping("/update")
+ @ResponseBody
+ public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ Assert.isFalse(bindingResult.hasErrors(), () -> {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ });
+ return traceSupplierService.updateTraceSupplier(traceSupplier);
+ }
+
+ @ApiOperation("证书报告删除")
+ @PostMapping("/delete")
+ @ResponseBody
+ public ReturnDTO supplierDelete(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return traceSupplierService.deleteTraceSupplier(idDTO.getId());
+ }
+
+ @ApiOperation("证书报告批量删除")
+ @PostMapping("/batchDelete")
+ @ResponseBody
+ public ReturnDTO supplierBatchDelete(@RequestBody @Valid IdsDTO idsDTO) {
+ Assert.isFalse(CollectionUtils.isEmpty(idsDTO.getIds()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return traceSupplierService.deleteBatchTraceSupplier(idsDTO.getIds());
+ }
+
+ @ApiOperation("证书报告详情")
+ @PostMapping("/detail")
+ @ResponseBody
+ public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(certificateReportService.certificateReportDetail(idDTO.getId()));
+ }
+
+ @ApiOperation("证书报告审批列表及详情中基础信息(分页),底部的人员信息等可用证书报告详情接口")
+ @PostMapping("/approval/listPage")
+ @ResponseBody
+ public ReturnDTO> approvalListPage(@RequestBody @Valid TraceSupplierApprovalListRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ Page page = PageFactory.defaultPage();
+ List responseList = traceSupplierService.approvalListPage(page, request);
+ page.setRecords(responseList);
+ return ReturnUtil.success(super.packForBT(page));
+ }
+
+ /**
+ * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除)
+ * 前端控制按钮权限
+ */
+ @ApiOperation("审批操作-删除")
+ @PostMapping("/approval/operate/delete")
+ @ResponseBody
+ public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.approvalDelete(request);
+ }
+
+ /**
+ * 审批操作-编辑
+ * 驳回的流程放置在未通过列表中,实现进行编辑后自动审核通过发起人节点
+ */
+ @ApiOperation("未通过证书报告编辑(驳回后的证书报告重新编辑,仅未通过列表中的编辑按钮可调用)")
+ @PostMapping("/failUpdate")
+ @ResponseBody
+ public ReturnDTO failUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return traceSupplierService.failUpdate(traceSupplier);
+ }
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
index fa5fdee..f126f11 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -11,7 +11,6 @@
import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.exception.BusinessException;
-import com.casic.missiles.model.business.BusinessEnvironmentRecord;
import com.casic.missiles.model.business.BusinessOriginalRecord;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.service.business.IBusinessOriginalRecordService;
@@ -99,10 +98,10 @@
businessOriginalRecordService.originExport(request, response);
}
- @ApiOperation("获取设备")
- @PostMapping("/getEquipments")
- public void getEquipments() {
-// businessEnvironmentRecordService.environmentExport(request, response);
- }
+// @ApiOperation("获取设备")
+// @PostMapping("/getEquipments")
+// public void getEquipments() {
+//// businessEnvironmentRecordService.environmentExport(request, response);
+// }
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java
new file mode 100644
index 0000000..f84fb2f
--- /dev/null
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java
@@ -0,0 +1,49 @@
+package com.casic.missiles.enums;
+
+/**
+ * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀
+ * 无线电
+ * 光学
+ * 时间频率
+ * 电磁学
+ * 几何量
+ * 热学
+ * 力学
+ * 环境试验
+ * 电磁兼容
+ * 医疗器械
+ * 理化分析
+ * 电力系统
+ * @Author: zt
+ * @Date: 2023/2/18 14:40
+ */
+public enum MonitorCodeEnum {
+ WIRELESS("1", "RIM"),
+ OPTICS("2", "TOE"),
+ TIME_FREQUENCY("3", "TTF"),
+ EMC("4", "DMS"),
+ GEOMETRY("5", "JHL"),
+ HEAT("6", "RXZ"),
+ DYNAMICS("7", "LXZ"),
+ ENVIRONMENT_TEST("8", "TET"),
+ DCJR("9", "EMC"),
+ YLQX("10", "DCJ"),
+ LHFX("11", "LHF"),
+ DLXT("12", "DLX");
+
+ private String code;
+ private String value;
+
+ MonitorCodeEnum(String code, String value) {
+ this.code = code;
+ this.value = value;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public String getValue() {
+ return value;
+ }
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
index 499ba5c..add1f9e 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
@@ -8,6 +8,7 @@
import org.apache.ibatis.annotations.Param;
import java.util.List;
+import org.apache.ibatis.annotations.Select;
/**
*
@@ -23,4 +24,7 @@
+ @Select("SELECT IFNULL(max(RIGHT(certificate_report_code, 12)), 0) from business_certificate_report")
+ Long selectMaxCode();
+
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
index 3f2b326..b4d8744 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
@@ -7,7 +7,7 @@
-
+
@@ -24,13 +24,13 @@
-
+
bor.*
SELECT
-
+
FROM business_original_record bor
LEFT JOIN customer_sample_info cs ON bor.sample_id = cs.id
WHERE bor.is_del =0
@@ -38,7 +38,7 @@
and bor.original_record_code like concat('%', #{request.originalRecordCode}, '%')
- and cs.sample_no like concat('%', #{request.sampleN}, '%')
+ and cs.sample_no like concat('%', #{request.sampleNo}, '%')
and cs.sample_name like concat('%', #{request.sampleName}, '%')
@@ -49,8 +49,8 @@
and cs.manufacturing_no like concat('%', #{request.manufacturingNo}, '%')
-
- and bor.measure_category = #{request.calibrationCategory}
+
+ and bor.measure_category = #{request.measureCategory}
and bor.create_user = #{request.createUser}
@@ -61,13 +61,15 @@
SELECT
- ,
- cs.sample_no AS sampleNo,
- cs.sample_name AS sampleName,
- cs.sample_model AS samplemModel,
- cs.manufacturing_no AS manufacturingNo
+ ,
+ cs.sample_no AS sampleNo,
+ cs.sample_name AS sampleName,
+ cs.sample_model AS sampleModel,
+ cs.manufacturing_no AS manufacturingNo,
+ su.name AS createUserName
FROM business_original_record bor
LEFT JOIN customer_sample_info cs ON bor.sample_id = cs.id
+ LEFT JOIN sys_user su ON su.id = bor.create_user
WHERE bor.is_del =0
and bor.original_record_code like concat('%', #{request.originalRecordCode}, '%')
@@ -84,12 +86,19 @@
and cs.manufacturing_no like concat('%', #{request.manufacturingNo}, '%')
-
- and bor.measure_category = #{request.calibrationCategory}
+
+ and bor.measure_category = #{request.measureCategory}
and bor.create_user = #{request.createUser}
+
+
+ AND bor.id IN
+
+ #{item}
+
+
ORDER BY bor.create_time DESC
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java
index 6b7ddc9..db821a7 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/environment/EnvironmentListRequest.java
@@ -4,6 +4,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
@Data
@ApiModel
public class EnvironmentListRequest {
@@ -19,4 +21,8 @@
@ApiModelProperty(value = "结束时间", dataType = "String")
private String endTime;
+
+ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List")
+ private List ids;
+
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
index cc0dac1..01759aa 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
@@ -4,6 +4,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.List;
+
@Data
@ApiModel
public class OriginRecordRequest {
@@ -24,8 +26,11 @@
private String manufacturingNo;
@ApiModelProperty(value = "校验类别", dataType = "String")
- private String calibrationCategory;
+ private String measureCategory;
@ApiModelProperty(value = "创建人", dataType = "String")
private String createUser;
+
+ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List")
+ private List ids;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
index 4c0521d..2dd8e21 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
@@ -7,6 +7,8 @@
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.enums.poi.BorderStyleEnum;
+import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -48,8 +50,12 @@
private String manufacturingNo;
@ApiModelProperty(value = "检校类别", dataType = "String")
+ @DictCodeField(message = "检校类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY)
+ private String measureCategory;
+
+ @ApiModelProperty(value = "检校类别", dataType = "String")
@ExcelProperty(value = "检校类别", order = 6)
- private String calibrationCategory;
+ private String measureCategoryName;
@ApiModelProperty(value = "检校时间", dataType = "String")
private String calibrationTime;
@@ -84,7 +90,7 @@
@ApiModelProperty(value = "创建人", dataType = "String")
@ExcelProperty(value = "创建人", order = 7)
- private String createUser;
+ private String createUserName;
@ApiModelProperty(value = "创建时间", dataType = "String")
@ExcelProperty(value = "创建时间", order = 8)
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java
index 122382c..1e0c46f 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessCertificateReport.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@@ -12,7 +13,7 @@
* 业务管理-证书报告
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@Data
@@ -28,111 +29,136 @@
* 证书报告编号
*/
@TableField("certificate_report_code")
+ @ApiModelProperty(value = "证书报告编号", dataType = "String")
private String certificateReportCode;
/**
* 证书报告名称
*/
@TableField("certificate_report_name")
+ @ApiModelProperty(value = "证书报告名称", dataType = "String")
private String certificateReportName;
/**
* 证书类别,多个逗号分割(字典code)
*/
@TableField("certificate_report_category")
+ @ApiModelProperty(value = "证书类别,多个逗号分割(字典code)", dataType = "String")
private String certificateReportCategory;
/**
* 委托书id
*/
@TableField("order_id")
+ @ApiModelProperty(value = "委托书id", dataType = "Long")
private Long orderId;
/**
* 样品id
*/
@TableField("sample_id")
+ @ApiModelProperty(value = "样品id", dataType = "Long")
private Long sampleId;
/**
* 检定部门id(可用于获取实验室已完成证书个数)
*/
@TableField("measure_dept_id")
+ @ApiModelProperty(value = "检定部门id", dataType = "Long")
private Long measureDeptId;
/**
* 检校专业(字典code)
*/
@TableField("calibration_major")
+ @ApiModelProperty(value = "检校专业", dataType = "String")
private String calibrationMajor;
/**
* 出具日期
*/
@TableField("issuance_date")
+ @ApiModelProperty(value = "出具日期", dataType = "String")
private String issuanceDate;
/**
* 证书有效期
*/
@TableField("expiration_date")
+ @ApiModelProperty(value = "证书有效期", dataType = "String")
private String expirationDate;
/**
* 检定结果(字典code)
*/
@TableField("measure_result")
+ @ApiModelProperty(value = "检定结果", dataType = "String")
private String measureResult;
/**
* 证书报告模板id
*/
@TableField("template_id")
+ @ApiModelProperty(value = "证书报告模板id", dataType = "Long")
private Long templateId;
/**
* 电子签章id(签章表id)
*/
@TableField("sign_id")
+ @ApiModelProperty(value = "电子签章id", dataType = "Long")
private Long signId;
/**
* 认可标志专用章id(签章表id)
*/
@TableField("approval_sign_id")
+ @ApiModelProperty(value = "认可标志专用章id", dataType = "Long")
private Long approvalSignId;
/**
* 证书报告附件(minio存储文件名)
*/
@TableField("certificate_report_file")
+ @ApiModelProperty(value = "证书报告附件", dataType = "String")
private String certificateReportFile;
/**
* 原始记录id
*/
@TableField("original_record_id")
+ @ApiModelProperty(value = "原始记录id", dataType = "Long")
private Long originalRecordId;
/**
* 可打印状态(字典code)
*/
@TableField("print_status")
+ @ApiModelProperty(value = "可打印状态", dataType = "String")
private String printStatus;
/**
* 打印次数
*/
@TableField("print_num")
+ @ApiModelProperty(value = "打印次数", dataType = "Integer")
private Integer printNum;
/**
+ * 检定人员
+ */
+ @TableField("measure_person_id")
+ @ApiModelProperty(value = "检定人员", dataType = "String")
+ private String measurePersonId;
+
+ /**
* 可打印状态(字典code)
*/
@TableField("approval_status")
private String approvalStatus;
@TableField("remark")
+ @ApiModelProperty(value = "备注", dataType = "String")
private String remark;
@TableField("is_del")
@@ -147,4 +173,8 @@
@TableField("update_time")
private String updateTime;
+ @TableField(exist = false)
+ @ApiModelProperty(value = "原始记录信息", dataType = "Object")
+ private BusinessOriginalRecord businessOriginalRecord;
+
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java
index c918e35..201dc35 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOriginalRecord.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.casic.missiles.annotation.DictCodeField;
+import com.casic.missiles.constants.MeterDictCode;
import com.casic.missiles.model.customer.CustomerSampleInfo;
import com.casic.missiles.model.equipment.EquipmentApplyFile;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
@@ -18,7 +20,7 @@
*
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@Data
@@ -47,9 +49,10 @@
/**
* 检校类别(字典code)
*/
- @TableField("calibration_category")
+ @TableField("measure_category")
@ApiModelProperty(value = "检校类别", dataType = "String")
- private String calibrationCategory;
+ @DictCodeField(message = "检校类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY)
+ private String measureCategory;
/**
* 检校时间
@@ -147,4 +150,8 @@
@TableField(exist = false)
@ApiModelProperty(value = "技术文件", dataType = "List")
private List fileList;
+
+ @TableField(exist = false)
+ @ApiModelProperty(value = "检校类别名称", dataType = "String")
+ private String measureCategoryName;
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
index ac5918e..59587af 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificateReportServiceImpl.java
@@ -1,20 +1,84 @@
package com.casic.missiles.service.Impl.business;
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.shiro.ShiroKit;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.MonitorCodeEnum;
+import com.casic.missiles.enums.PrefixCodeEnum;
+import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.mapper.business.BusinessCertificateReportMapper;
import com.casic.missiles.model.business.BusinessCertificateReport;
+import com.casic.missiles.model.business.BusinessOriginalRecord;
import com.casic.missiles.service.business.IBusinessCertificateReportService;
+import com.casic.missiles.service.business.IBusinessOriginalRecordService;
+import com.casic.missiles.utils.NumberGeneratorUtil;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.Date;
+
/**
*
* 业务管理-证书报告 服务实现类
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@Service
public class BusinessCertificateReportServiceImpl extends ServiceImpl implements IBusinessCertificateReportService {
+
+ @Autowired
+ private IBusinessOriginalRecordService originalRecordService;
+ /**
+ * 保存证书报告信息
+ * @param certificateReport
+ * @return
+ */
+ @Override
+ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) {
+
+ initCertificateReport(certificateReport);
+ if(this.baseMapper.insert(certificateReport)>0)
+ return ReturnUtil.success();
+ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
+ }
+
+ /**
+ * 证书报告详情
+ * @param id
+ * @return
+ */
+ @Override
+ public BusinessCertificateReport certificateReportDetail(Long id) {
+ BusinessCertificateReport certificateReport = this.baseMapper.selectById(id);
+ if(certificateReport.getOriginalRecordId()!=null){
+ try {
+ certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId()));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ return certificateReport;
+ }
+
+ private void initCertificateReport(BusinessCertificateReport certificateReport) {
+
+ Long maxNo = this.baseMapper.selectMaxCode();
+ //生成证书编号
+ String certificateReportNo =NumberGeneratorUtil.getContactNo(
+ MonitorCodeEnum.valueOf(certificateReport.getCalibrationMajor()).getValue()
+ +DateUtil.format(new Date(),"YYYYMM"),maxNo);
+ AuthUser authUser = ShiroKit.getUser();
+ certificateReport.setCreateUser(authUser.getId());
+ certificateReport.setMeasurePersonId(authUser.getId()+"");
+ certificateReport.setCertificateReportCode(certificateReportNo);
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java
index 219919f..c4ed5f6 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java
@@ -18,6 +18,7 @@
import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper;
import com.casic.missiles.mapper.business.EnvironmentListResponseMapper;
import com.casic.missiles.model.business.BusinessEnvironmentRecord;
+import com.casic.missiles.model.equipment.EquipmentFixedAssets;
import com.casic.missiles.service.business.IBusinessEnvironmentRecordService;
import com.casic.missiles.utils.DictCodeUtils;
import com.casic.missiles.utils.NumberGeneratorUtil;
@@ -94,7 +95,8 @@
QueryWrapper wrapper = listParamWrapper(request);
List environmentListResponseList = this.environmentListResponseMapper.selectList(wrapper);
try {
- iBaseExportService.exportExcel(response, EnvironmentListResponse.class, environmentListResponseList, ExportEnum.ENVIRONMENT_DATA.getSheetName());
+ iBaseExportService.exportExcel(response, EnvironmentListResponse.class,
+ environmentListResponseList, ExportEnum.ENVIRONMENT_DATA.getSheetName());
} catch (IOException e) {
log.error("环境记录单导出出现异常,异常信息为{}", e);
}
@@ -114,6 +116,9 @@
private QueryWrapper listParamWrapper(EnvironmentListRequest request) {
QueryWrapper wrapper = new QueryWrapper<>();
+ if(!CollectionUtils.isEmpty(request.getIds()) && request.getIds().size()!=0){
+ wrapper.in("id", request.getIds());
+ }
wrapper.like(StringUtils.isNotBlank(request.getEnvironmentCode()), "environment_code", request.getEnvironmentCode());
wrapper.like(StringUtils.isNotBlank(request.getRoomNumber()), "room_number", request.getRoomNumber());
wrapper.apply(StringUtils.isNotBlank(request.getStartTime()),//apply方法传入参数名不能为空
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
index 7dda5c3..046e4aa 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
@@ -113,11 +113,26 @@
@Override
public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) {
- return null;
+ if (this.baseMapper.insert(businessOriginalRecord) > 0) {
+ //加入技术文件绑定
+ if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) {
+ originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList());
+ }
+ //加入所用设备绑定
+ if (ObjectUtil.isNotEmpty(businessOriginalRecord.getEquipmentInfoList()) && businessOriginalRecord.getEquipmentInfoList().size() > 0) {
+ originalRecordEquipmentRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getEquipmentInfoList());
+ }
+ return ReturnUtil.success();
+ }
+ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
}
- @Transactional
+ /**
+ * @param businessOriginalRecord
+ * @return
+ */
@Override
+ @Transactional
public ReturnDTO addOriginal(BusinessOriginalRecord businessOriginalRecord) {
initBusinessEnvironmentRecord(businessOriginalRecord);
if (baseMapper.insert(businessOriginalRecord) > 0) {
@@ -136,11 +151,14 @@
@Override
public void originExport(OriginRecordRequest request, HttpServletResponse response) {
-
- List originExportList = this.baseMapper.originExportList(request);
try {
+ List originExportList = this.baseMapper.originExportList(request);
+ for (OriginRecordResponse originRecordResponse : originExportList) {
+ //字典值转换
+ DictCodeUtils.convertDictCodeToName(originRecordResponse);
+ }
iBaseExportService.exportExcel(response, OriginRecordResponse.class, originExportList, ExportEnum.ORIGIN_DATA.getSheetName());
- } catch (IOException e) {
+ } catch (Exception e) {
log.error("环境记录单导出出现异常,异常信息为{}", e);
}
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificateReportService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificateReportService.java
index c881586..33ac64a 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificateReportService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessCertificateReportService.java
@@ -1,6 +1,7 @@
package com.casic.missiles.service.business;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.model.business.BusinessCertificateReport;
/**
@@ -8,9 +9,12 @@
* 业务管理-证书报告 服务类
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
public interface IBusinessCertificateReportService extends IService {
+ ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport);
+
+ BusinessCertificateReport certificateReportDetail(Long id);
}