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 408b580..e2e6681 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 @@ -6,14 +6,18 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.enums.BusinessExceptionEnum; 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.service.business.IBusinessCertificateReportService; +import com.casic.missiles.service.customer.CustomerSampleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.util.CollectionUtils; @@ -41,7 +45,8 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - + @Resource + private CustomerSampleService customerSampleService; @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -152,4 +157,21 @@ } return certificateReportService.failUpdate(certificateReport); } + + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); + } + + + + @ApiOperation("根据样品id查询证书监控列表") + @PostMapping("/certificateMonitorsById") + public ReturnDTO> certificateMonitorsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateMonitorsById(customerSampleIdRequest))); + } + } 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 408b580..e2e6681 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 @@ -6,14 +6,18 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.enums.BusinessExceptionEnum; 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.service.business.IBusinessCertificateReportService; +import com.casic.missiles.service.customer.CustomerSampleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.util.CollectionUtils; @@ -41,7 +45,8 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - + @Resource + private CustomerSampleService customerSampleService; @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -152,4 +157,21 @@ } return certificateReportService.failUpdate(certificateReport); } + + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); + } + + + + @ApiOperation("根据样品id查询证书监控列表") + @PostMapping("/certificateMonitorsById") + public ReturnDTO> certificateMonitorsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateMonitorsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 8e46101..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -25,11 +25,6 @@ 2.0.0 - com.casic - casic-metering-service - 2.0.0 - - com.github.oshi oshi-core 5.7.0 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 408b580..e2e6681 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 @@ -6,14 +6,18 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.enums.BusinessExceptionEnum; 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.service.business.IBusinessCertificateReportService; +import com.casic.missiles.service.customer.CustomerSampleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.util.CollectionUtils; @@ -41,7 +45,8 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - + @Resource + private CustomerSampleService customerSampleService; @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -152,4 +157,21 @@ } return certificateReportService.failUpdate(certificateReport); } + + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); + } + + + + @ApiOperation("根据样品id查询证书监控列表") + @PostMapping("/certificateMonitorsById") + public ReturnDTO> certificateMonitorsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateMonitorsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 8e46101..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -25,11 +25,6 @@ 2.0.0 - com.casic - casic-metering-service - 2.0.0 - - com.github.oshi oshi-core 5.7.0 diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java index a013d67..c27b98e 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -16,4 +16,16 @@ * 审批中 */ String IN_APPROVAL = "3"; + + + /** + * 证书状态完成 + */ + String FINISHED = "已完成"; + + /** + * 证书状态未完成 + */ + String UNFINISHED = "未完成"; + } 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 408b580..e2e6681 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 @@ -6,14 +6,18 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.enums.BusinessExceptionEnum; 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.service.business.IBusinessCertificateReportService; +import com.casic.missiles.service.customer.CustomerSampleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.util.CollectionUtils; @@ -41,7 +45,8 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - + @Resource + private CustomerSampleService customerSampleService; @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -152,4 +157,21 @@ } return certificateReportService.failUpdate(certificateReport); } + + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); + } + + + + @ApiOperation("根据样品id查询证书监控列表") + @PostMapping("/certificateMonitorsById") + public ReturnDTO> certificateMonitorsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateMonitorsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 8e46101..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -25,11 +25,6 @@ 2.0.0 - com.casic - casic-metering-service - 2.0.0 - - com.github.oshi oshi-core 5.7.0 diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java index a013d67..c27b98e 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -16,4 +16,16 @@ * 审批中 */ String IN_APPROVAL = "3"; + + + /** + * 证书状态完成 + */ + String FINISHED = "已完成"; + + /** + * 证书状态未完成 + */ + String UNFINISHED = "未完成"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java index ebb9d60..a318a34 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -15,4 +15,6 @@ String LEASE_BEAN_NAME = "equipmentLeaseBean"; + String CERTIFICATE_REPORT_BEAN_NAME = "certificateReportBean"; + } 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 408b580..e2e6681 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 @@ -6,14 +6,18 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.enums.BusinessExceptionEnum; 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.service.business.IBusinessCertificateReportService; +import com.casic.missiles.service.customer.CustomerSampleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.util.CollectionUtils; @@ -41,7 +45,8 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - + @Resource + private CustomerSampleService customerSampleService; @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -152,4 +157,21 @@ } return certificateReportService.failUpdate(certificateReport); } + + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); + } + + + + @ApiOperation("根据样品id查询证书监控列表") + @PostMapping("/certificateMonitorsById") + public ReturnDTO> certificateMonitorsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateMonitorsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 8e46101..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -25,11 +25,6 @@ 2.0.0 - com.casic - casic-metering-service - 2.0.0 - - com.github.oshi oshi-core 5.7.0 diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java index a013d67..c27b98e 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -16,4 +16,16 @@ * 审批中 */ String IN_APPROVAL = "3"; + + + /** + * 证书状态完成 + */ + String FINISHED = "已完成"; + + /** + * 证书状态未完成 + */ + String UNFINISHED = "未完成"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java index ebb9d60..a318a34 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -15,4 +15,6 @@ String LEASE_BEAN_NAME = "equipmentLeaseBean"; + String CERTIFICATE_REPORT_BEAN_NAME = "certificateReportBean"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java index 9300729..2435309 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -18,6 +18,7 @@ DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + CERTIFICATE_REPORT_STATUS(CERTIFICATE_REPORT_BEAN_NAME, ""), ACTION_STATUS_MAP(new HashMap() { { put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); @@ -32,6 +33,7 @@ put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + put(ApplyFromIdEnum.CERTIFICATE_REPORT_APPROVAL, CERTIFICATE_REPORT_STATUS); //证书报告审批通过状态回填 } }); String actionBeanName; 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 408b580..e2e6681 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 @@ -6,14 +6,18 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.enums.BusinessExceptionEnum; 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.service.business.IBusinessCertificateReportService; +import com.casic.missiles.service.customer.CustomerSampleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.util.CollectionUtils; @@ -41,7 +45,8 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - + @Resource + private CustomerSampleService customerSampleService; @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -152,4 +157,21 @@ } return certificateReportService.failUpdate(certificateReport); } + + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); + } + + + + @ApiOperation("根据样品id查询证书监控列表") + @PostMapping("/certificateMonitorsById") + public ReturnDTO> certificateMonitorsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateMonitorsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 8e46101..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -25,11 +25,6 @@ 2.0.0 - com.casic - casic-metering-service - 2.0.0 - - com.github.oshi oshi-core 5.7.0 diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java index a013d67..c27b98e 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -16,4 +16,16 @@ * 审批中 */ String IN_APPROVAL = "3"; + + + /** + * 证书状态完成 + */ + String FINISHED = "已完成"; + + /** + * 证书状态未完成 + */ + String UNFINISHED = "未完成"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java index ebb9d60..a318a34 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -15,4 +15,6 @@ String LEASE_BEAN_NAME = "equipmentLeaseBean"; + String CERTIFICATE_REPORT_BEAN_NAME = "certificateReportBean"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java index 9300729..2435309 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -18,6 +18,7 @@ DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + CERTIFICATE_REPORT_STATUS(CERTIFICATE_REPORT_BEAN_NAME, ""), ACTION_STATUS_MAP(new HashMap() { { put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); @@ -32,6 +33,7 @@ put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + put(ApplyFromIdEnum.CERTIFICATE_REPORT_APPROVAL, CERTIFICATE_REPORT_STATUS); //证书报告审批通过状态回填 } }); String actionBeanName; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java index 8ac418f..2f51507 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java @@ -2,19 +2,12 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; import com.casic.missiles.enums.notifyevent.AwareActionStatusEnum; -import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; -import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; -import com.casic.missiles.exception.BusinessException; import com.casic.missiles.listeners.NotifyStatusPostProcessor; -import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; -import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; import com.casic.missiles.modular.system.dao.UserMapper; @@ -48,13 +41,15 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - AwareActionStatusEnum notifyActionStatusEnum= AwareActionStatusEnum.ACTION_STATUS_MAP.getActionStatusMap().get(systemFlowForm.getFormId()); - NotifyEventStatusDTO notifyEventStatusDTO = NotifyEventStatusDTO.builder() - .id(id) - .status(notifyActionStatusEnum.getStatus()).build(); - NotifyStatusPostProcessor postProcessor = SpringContextUtil.getBean(notifyActionStatusEnum.getActionBeanName()); - if (postProcessor != null) { - postProcessor.doUpdateNotifyEventStatus(notifyEventStatusDTO); + AwareActionStatusEnum notifyActionStatusEnum = AwareActionStatusEnum.ACTION_STATUS_MAP.getActionStatusMap().get(systemFlowForm.getFormId()); + if (null != notifyActionStatusEnum) { + NotifyEventStatusDTO notifyEventStatusDTO = NotifyEventStatusDTO.builder() + .id(id) + .status(notifyActionStatusEnum.getStatus()).build(); + NotifyStatusPostProcessor postProcessor = SpringContextUtil.getBean(notifyActionStatusEnum.getActionBeanName()); + if (postProcessor != null) { + postProcessor.doUpdateNotifyEventStatus(notifyEventStatusDTO); + } } //设置通过状态为已通过 runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); 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 408b580..e2e6681 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 @@ -6,14 +6,18 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.enums.BusinessExceptionEnum; 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.service.business.IBusinessCertificateReportService; +import com.casic.missiles.service.customer.CustomerSampleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.util.CollectionUtils; @@ -41,7 +45,8 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - + @Resource + private CustomerSampleService customerSampleService; @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -152,4 +157,21 @@ } return certificateReportService.failUpdate(certificateReport); } + + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); + } + + + + @ApiOperation("根据样品id查询证书监控列表") + @PostMapping("/certificateMonitorsById") + public ReturnDTO> certificateMonitorsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateMonitorsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 8e46101..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -25,11 +25,6 @@ 2.0.0 - com.casic - casic-metering-service - 2.0.0 - - com.github.oshi oshi-core 5.7.0 diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java index a013d67..c27b98e 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -16,4 +16,16 @@ * 审批中 */ String IN_APPROVAL = "3"; + + + /** + * 证书状态完成 + */ + String FINISHED = "已完成"; + + /** + * 证书状态未完成 + */ + String UNFINISHED = "未完成"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java index ebb9d60..a318a34 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -15,4 +15,6 @@ String LEASE_BEAN_NAME = "equipmentLeaseBean"; + String CERTIFICATE_REPORT_BEAN_NAME = "certificateReportBean"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java index 9300729..2435309 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -18,6 +18,7 @@ DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + CERTIFICATE_REPORT_STATUS(CERTIFICATE_REPORT_BEAN_NAME, ""), ACTION_STATUS_MAP(new HashMap() { { put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); @@ -32,6 +33,7 @@ put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + put(ApplyFromIdEnum.CERTIFICATE_REPORT_APPROVAL, CERTIFICATE_REPORT_STATUS); //证书报告审批通过状态回填 } }); String actionBeanName; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java index 8ac418f..2f51507 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java @@ -2,19 +2,12 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; import com.casic.missiles.enums.notifyevent.AwareActionStatusEnum; -import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; -import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; -import com.casic.missiles.exception.BusinessException; import com.casic.missiles.listeners.NotifyStatusPostProcessor; -import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; -import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; import com.casic.missiles.modular.system.dao.UserMapper; @@ -48,13 +41,15 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - AwareActionStatusEnum notifyActionStatusEnum= AwareActionStatusEnum.ACTION_STATUS_MAP.getActionStatusMap().get(systemFlowForm.getFormId()); - NotifyEventStatusDTO notifyEventStatusDTO = NotifyEventStatusDTO.builder() - .id(id) - .status(notifyActionStatusEnum.getStatus()).build(); - NotifyStatusPostProcessor postProcessor = SpringContextUtil.getBean(notifyActionStatusEnum.getActionBeanName()); - if (postProcessor != null) { - postProcessor.doUpdateNotifyEventStatus(notifyEventStatusDTO); + AwareActionStatusEnum notifyActionStatusEnum = AwareActionStatusEnum.ACTION_STATUS_MAP.getActionStatusMap().get(systemFlowForm.getFormId()); + if (null != notifyActionStatusEnum) { + NotifyEventStatusDTO notifyEventStatusDTO = NotifyEventStatusDTO.builder() + .id(id) + .status(notifyActionStatusEnum.getStatus()).build(); + NotifyStatusPostProcessor postProcessor = SpringContextUtil.getBean(notifyActionStatusEnum.getActionBeanName()); + if (postProcessor != null) { + postProcessor.doUpdateNotifyEventStatus(notifyEventStatusDTO); + } } //设置通过状态为已通过 runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java new file mode 100644 index 0000000..12bedc0 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java @@ -0,0 +1,38 @@ +package com.casic.missiles.listeners.processor; + +import cn.hutool.core.lang.Assert; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.model.business.BusinessCertificateReport; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Objects; + +/** + * @author zt + * + * 证书报告审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_REPORT_BEAN_NAME) +public class CertificateReportStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + Long id = Long.valueOf(notifyEventStatusDTO.getId()); + Assert.isFalse(Objects.isNull(id), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); +// IBusinessCertificateReportServicecertificateReportService = SpringContextUtil.getBean(IBusinessCertificateReportService.class); +// if (!certificateReportService.updateCertificateReportState(id)) { +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// } + } + + +} 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 408b580..e2e6681 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 @@ -6,14 +6,18 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.enums.BusinessExceptionEnum; 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.service.business.IBusinessCertificateReportService; +import com.casic.missiles.service.customer.CustomerSampleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.util.CollectionUtils; @@ -41,7 +45,8 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - + @Resource + private CustomerSampleService customerSampleService; @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -152,4 +157,21 @@ } return certificateReportService.failUpdate(certificateReport); } + + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); + } + + + + @ApiOperation("根据样品id查询证书监控列表") + @PostMapping("/certificateMonitorsById") + public ReturnDTO> certificateMonitorsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateMonitorsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 8e46101..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -25,11 +25,6 @@ 2.0.0 - com.casic - casic-metering-service - 2.0.0 - - com.github.oshi oshi-core 5.7.0 diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java index a013d67..c27b98e 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -16,4 +16,16 @@ * 审批中 */ String IN_APPROVAL = "3"; + + + /** + * 证书状态完成 + */ + String FINISHED = "已完成"; + + /** + * 证书状态未完成 + */ + String UNFINISHED = "未完成"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java index ebb9d60..a318a34 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -15,4 +15,6 @@ String LEASE_BEAN_NAME = "equipmentLeaseBean"; + String CERTIFICATE_REPORT_BEAN_NAME = "certificateReportBean"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java index 9300729..2435309 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -18,6 +18,7 @@ DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + CERTIFICATE_REPORT_STATUS(CERTIFICATE_REPORT_BEAN_NAME, ""), ACTION_STATUS_MAP(new HashMap() { { put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); @@ -32,6 +33,7 @@ put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + put(ApplyFromIdEnum.CERTIFICATE_REPORT_APPROVAL, CERTIFICATE_REPORT_STATUS); //证书报告审批通过状态回填 } }); String actionBeanName; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java index 8ac418f..2f51507 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java @@ -2,19 +2,12 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; import com.casic.missiles.enums.notifyevent.AwareActionStatusEnum; -import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; -import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; -import com.casic.missiles.exception.BusinessException; import com.casic.missiles.listeners.NotifyStatusPostProcessor; -import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; -import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; import com.casic.missiles.modular.system.dao.UserMapper; @@ -48,13 +41,15 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - AwareActionStatusEnum notifyActionStatusEnum= AwareActionStatusEnum.ACTION_STATUS_MAP.getActionStatusMap().get(systemFlowForm.getFormId()); - NotifyEventStatusDTO notifyEventStatusDTO = NotifyEventStatusDTO.builder() - .id(id) - .status(notifyActionStatusEnum.getStatus()).build(); - NotifyStatusPostProcessor postProcessor = SpringContextUtil.getBean(notifyActionStatusEnum.getActionBeanName()); - if (postProcessor != null) { - postProcessor.doUpdateNotifyEventStatus(notifyEventStatusDTO); + AwareActionStatusEnum notifyActionStatusEnum = AwareActionStatusEnum.ACTION_STATUS_MAP.getActionStatusMap().get(systemFlowForm.getFormId()); + if (null != notifyActionStatusEnum) { + NotifyEventStatusDTO notifyEventStatusDTO = NotifyEventStatusDTO.builder() + .id(id) + .status(notifyActionStatusEnum.getStatus()).build(); + NotifyStatusPostProcessor postProcessor = SpringContextUtil.getBean(notifyActionStatusEnum.getActionBeanName()); + if (postProcessor != null) { + postProcessor.doUpdateNotifyEventStatus(notifyEventStatusDTO); + } } //设置通过状态为已通过 runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java new file mode 100644 index 0000000..12bedc0 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java @@ -0,0 +1,38 @@ +package com.casic.missiles.listeners.processor; + +import cn.hutool.core.lang.Assert; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.model.business.BusinessCertificateReport; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Objects; + +/** + * @author zt + * + * 证书报告审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_REPORT_BEAN_NAME) +public class CertificateReportStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + Long id = Long.valueOf(notifyEventStatusDTO.getId()); + Assert.isFalse(Objects.isNull(id), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); +// IBusinessCertificateReportServicecertificateReportService = SpringContextUtil.getBean(IBusinessCertificateReportService.class); +// if (!certificateReportService.updateCertificateReportState(id)) { +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// } + } + + +} 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 443faa0..eadd2c2 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 @@ -2,10 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.meter.TraceSupplierApprovalListRequest; import com.casic.missiles.dto.meter.TraceSupplierApprovalListResponse; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -31,7 +33,12 @@ List selectBatchForApproval(@Param("page")Page page, @Param("request") CertificateReportApprovalRequest request, @Param("businessKey") List businessKey); + + Page certificateMonitorsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + @Select("SELECT IFNULL(max(RIGHT(certificate_report_code, 9)), 0) from business_certificate_report where certificate_report_code like CONCAT(#{prefix},'%')") Long selectMaxCode(String prefix); + + } 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 408b580..e2e6681 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 @@ -6,14 +6,18 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.enums.BusinessExceptionEnum; 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.service.business.IBusinessCertificateReportService; +import com.casic.missiles.service.customer.CustomerSampleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.util.CollectionUtils; @@ -41,7 +45,8 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - + @Resource + private CustomerSampleService customerSampleService; @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -152,4 +157,21 @@ } return certificateReportService.failUpdate(certificateReport); } + + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); + } + + + + @ApiOperation("根据样品id查询证书监控列表") + @PostMapping("/certificateMonitorsById") + public ReturnDTO> certificateMonitorsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateMonitorsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 8e46101..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -25,11 +25,6 @@ 2.0.0 - com.casic - casic-metering-service - 2.0.0 - - com.github.oshi oshi-core 5.7.0 diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java index a013d67..c27b98e 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -16,4 +16,16 @@ * 审批中 */ String IN_APPROVAL = "3"; + + + /** + * 证书状态完成 + */ + String FINISHED = "已完成"; + + /** + * 证书状态未完成 + */ + String UNFINISHED = "未完成"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java index ebb9d60..a318a34 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -15,4 +15,6 @@ String LEASE_BEAN_NAME = "equipmentLeaseBean"; + String CERTIFICATE_REPORT_BEAN_NAME = "certificateReportBean"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java index 9300729..2435309 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -18,6 +18,7 @@ DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + CERTIFICATE_REPORT_STATUS(CERTIFICATE_REPORT_BEAN_NAME, ""), ACTION_STATUS_MAP(new HashMap() { { put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); @@ -32,6 +33,7 @@ put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + put(ApplyFromIdEnum.CERTIFICATE_REPORT_APPROVAL, CERTIFICATE_REPORT_STATUS); //证书报告审批通过状态回填 } }); String actionBeanName; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java index 8ac418f..2f51507 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java @@ -2,19 +2,12 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; import com.casic.missiles.enums.notifyevent.AwareActionStatusEnum; -import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; -import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; -import com.casic.missiles.exception.BusinessException; import com.casic.missiles.listeners.NotifyStatusPostProcessor; -import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; -import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; import com.casic.missiles.modular.system.dao.UserMapper; @@ -48,13 +41,15 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - AwareActionStatusEnum notifyActionStatusEnum= AwareActionStatusEnum.ACTION_STATUS_MAP.getActionStatusMap().get(systemFlowForm.getFormId()); - NotifyEventStatusDTO notifyEventStatusDTO = NotifyEventStatusDTO.builder() - .id(id) - .status(notifyActionStatusEnum.getStatus()).build(); - NotifyStatusPostProcessor postProcessor = SpringContextUtil.getBean(notifyActionStatusEnum.getActionBeanName()); - if (postProcessor != null) { - postProcessor.doUpdateNotifyEventStatus(notifyEventStatusDTO); + AwareActionStatusEnum notifyActionStatusEnum = AwareActionStatusEnum.ACTION_STATUS_MAP.getActionStatusMap().get(systemFlowForm.getFormId()); + if (null != notifyActionStatusEnum) { + NotifyEventStatusDTO notifyEventStatusDTO = NotifyEventStatusDTO.builder() + .id(id) + .status(notifyActionStatusEnum.getStatus()).build(); + NotifyStatusPostProcessor postProcessor = SpringContextUtil.getBean(notifyActionStatusEnum.getActionBeanName()); + if (postProcessor != null) { + postProcessor.doUpdateNotifyEventStatus(notifyEventStatusDTO); + } } //设置通过状态为已通过 runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java new file mode 100644 index 0000000..12bedc0 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java @@ -0,0 +1,38 @@ +package com.casic.missiles.listeners.processor; + +import cn.hutool.core.lang.Assert; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.model.business.BusinessCertificateReport; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Objects; + +/** + * @author zt + * + * 证书报告审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_REPORT_BEAN_NAME) +public class CertificateReportStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + Long id = Long.valueOf(notifyEventStatusDTO.getId()); + Assert.isFalse(Objects.isNull(id), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); +// IBusinessCertificateReportServicecertificateReportService = SpringContextUtil.getBean(IBusinessCertificateReportService.class); +// if (!certificateReportService.updateCertificateReportState(id)) { +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// } + } + + +} 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 443faa0..eadd2c2 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 @@ -2,10 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.meter.TraceSupplierApprovalListRequest; import com.casic.missiles.dto.meter.TraceSupplierApprovalListResponse; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -31,7 +33,12 @@ List selectBatchForApproval(@Param("page")Page page, @Param("request") CertificateReportApprovalRequest request, @Param("businessKey") List businessKey); + + Page certificateMonitorsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + @Select("SELECT IFNULL(max(RIGHT(certificate_report_code, 9)), 0) from business_certificate_report where certificate_report_code like CONCAT(#{prefix},'%')") Long selectMaxCode(String prefix); + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml index 5aedb18..c7779c8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -170,4 +170,26 @@ + + + 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 408b580..e2e6681 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 @@ -6,14 +6,18 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.enums.BusinessExceptionEnum; 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.service.business.IBusinessCertificateReportService; +import com.casic.missiles.service.customer.CustomerSampleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.util.CollectionUtils; @@ -41,7 +45,8 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - + @Resource + private CustomerSampleService customerSampleService; @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -152,4 +157,21 @@ } return certificateReportService.failUpdate(certificateReport); } + + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); + } + + + + @ApiOperation("根据样品id查询证书监控列表") + @PostMapping("/certificateMonitorsById") + public ReturnDTO> certificateMonitorsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateMonitorsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 8e46101..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -25,11 +25,6 @@ 2.0.0 - com.casic - casic-metering-service - 2.0.0 - - com.github.oshi oshi-core 5.7.0 diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java index a013d67..c27b98e 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -16,4 +16,16 @@ * 审批中 */ String IN_APPROVAL = "3"; + + + /** + * 证书状态完成 + */ + String FINISHED = "已完成"; + + /** + * 证书状态未完成 + */ + String UNFINISHED = "未完成"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java index ebb9d60..a318a34 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -15,4 +15,6 @@ String LEASE_BEAN_NAME = "equipmentLeaseBean"; + String CERTIFICATE_REPORT_BEAN_NAME = "certificateReportBean"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java index 9300729..2435309 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -18,6 +18,7 @@ DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + CERTIFICATE_REPORT_STATUS(CERTIFICATE_REPORT_BEAN_NAME, ""), ACTION_STATUS_MAP(new HashMap() { { put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); @@ -32,6 +33,7 @@ put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + put(ApplyFromIdEnum.CERTIFICATE_REPORT_APPROVAL, CERTIFICATE_REPORT_STATUS); //证书报告审批通过状态回填 } }); String actionBeanName; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java index 8ac418f..2f51507 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java @@ -2,19 +2,12 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; import com.casic.missiles.enums.notifyevent.AwareActionStatusEnum; -import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; -import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; -import com.casic.missiles.exception.BusinessException; import com.casic.missiles.listeners.NotifyStatusPostProcessor; -import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; -import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; import com.casic.missiles.modular.system.dao.UserMapper; @@ -48,13 +41,15 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - AwareActionStatusEnum notifyActionStatusEnum= AwareActionStatusEnum.ACTION_STATUS_MAP.getActionStatusMap().get(systemFlowForm.getFormId()); - NotifyEventStatusDTO notifyEventStatusDTO = NotifyEventStatusDTO.builder() - .id(id) - .status(notifyActionStatusEnum.getStatus()).build(); - NotifyStatusPostProcessor postProcessor = SpringContextUtil.getBean(notifyActionStatusEnum.getActionBeanName()); - if (postProcessor != null) { - postProcessor.doUpdateNotifyEventStatus(notifyEventStatusDTO); + AwareActionStatusEnum notifyActionStatusEnum = AwareActionStatusEnum.ACTION_STATUS_MAP.getActionStatusMap().get(systemFlowForm.getFormId()); + if (null != notifyActionStatusEnum) { + NotifyEventStatusDTO notifyEventStatusDTO = NotifyEventStatusDTO.builder() + .id(id) + .status(notifyActionStatusEnum.getStatus()).build(); + NotifyStatusPostProcessor postProcessor = SpringContextUtil.getBean(notifyActionStatusEnum.getActionBeanName()); + if (postProcessor != null) { + postProcessor.doUpdateNotifyEventStatus(notifyEventStatusDTO); + } } //设置通过状态为已通过 runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java new file mode 100644 index 0000000..12bedc0 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java @@ -0,0 +1,38 @@ +package com.casic.missiles.listeners.processor; + +import cn.hutool.core.lang.Assert; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.model.business.BusinessCertificateReport; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Objects; + +/** + * @author zt + * + * 证书报告审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_REPORT_BEAN_NAME) +public class CertificateReportStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + Long id = Long.valueOf(notifyEventStatusDTO.getId()); + Assert.isFalse(Objects.isNull(id), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); +// IBusinessCertificateReportServicecertificateReportService = SpringContextUtil.getBean(IBusinessCertificateReportService.class); +// if (!certificateReportService.updateCertificateReportState(id)) { +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// } + } + + +} 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 443faa0..eadd2c2 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 @@ -2,10 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.meter.TraceSupplierApprovalListRequest; import com.casic.missiles.dto.meter.TraceSupplierApprovalListResponse; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -31,7 +33,12 @@ List selectBatchForApproval(@Param("page")Page page, @Param("request") CertificateReportApprovalRequest request, @Param("businessKey") List businessKey); + + Page certificateMonitorsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + @Select("SELECT IFNULL(max(RIGHT(certificate_report_code, 9)), 0) from business_certificate_report where certificate_report_code like CONCAT(#{prefix},'%')") Long selectMaxCode(String prefix); + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml index 5aedb18..c7779c8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -170,4 +170,26 @@ + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateMonitorResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateMonitorResponse.java new file mode 100644 index 0000000..9c47b5d --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateMonitorResponse.java @@ -0,0 +1,43 @@ +package com.casic.missiles.dto.business.certificate; + +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; + +@Data +@ApiModel +public class CertificateMonitorResponse { + + @ApiModelProperty(value = "证书id", dataType = "Long") + private Long certificationId; + + @ApiModelProperty(value = "证书遍号", dataType = "String") + private String certificateReportCode; + + @ApiModelProperty(value = "证书名称", dataType = "String") + private String certificateReportName; + + @ApiModelProperty(value = "证书类型", dataType = "String") + @DictCodeField(message = "证书类型不合法", cacheName = MeterDictCode.CERTIFICATE_TYPE) + private String certificationType; + + @ApiModelProperty(value = "证书类型名称", dataType = "String") + private String certificationTypeName; + + @ApiModelProperty(value = "证书状态", dataType = "String") + private String certificateStatus; + + @ApiModelProperty(value = "初次提交时间", dataType = "String") + private String submitTime; + + @ApiModelProperty(value = " 完成时间", dataType = "String") + private String finishedTime; + + @ApiModelProperty(value = "退回次数", dataType = "Long") + private int returns; + + @ApiModelProperty(value = "制作人", dataType = "List") + private String createUser; +} 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 408b580..e2e6681 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 @@ -6,14 +6,18 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.enums.BusinessExceptionEnum; 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.service.business.IBusinessCertificateReportService; +import com.casic.missiles.service.customer.CustomerSampleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.util.CollectionUtils; @@ -41,7 +45,8 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - + @Resource + private CustomerSampleService customerSampleService; @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -152,4 +157,21 @@ } return certificateReportService.failUpdate(certificateReport); } + + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); + } + + + + @ApiOperation("根据样品id查询证书监控列表") + @PostMapping("/certificateMonitorsById") + public ReturnDTO> certificateMonitorsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateMonitorsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 8e46101..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -25,11 +25,6 @@ 2.0.0 - com.casic - casic-metering-service - 2.0.0 - - com.github.oshi oshi-core 5.7.0 diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java index a013d67..c27b98e 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -16,4 +16,16 @@ * 审批中 */ String IN_APPROVAL = "3"; + + + /** + * 证书状态完成 + */ + String FINISHED = "已完成"; + + /** + * 证书状态未完成 + */ + String UNFINISHED = "未完成"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java index ebb9d60..a318a34 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -15,4 +15,6 @@ String LEASE_BEAN_NAME = "equipmentLeaseBean"; + String CERTIFICATE_REPORT_BEAN_NAME = "certificateReportBean"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java index 9300729..2435309 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -18,6 +18,7 @@ DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + CERTIFICATE_REPORT_STATUS(CERTIFICATE_REPORT_BEAN_NAME, ""), ACTION_STATUS_MAP(new HashMap() { { put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); @@ -32,6 +33,7 @@ put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + put(ApplyFromIdEnum.CERTIFICATE_REPORT_APPROVAL, CERTIFICATE_REPORT_STATUS); //证书报告审批通过状态回填 } }); String actionBeanName; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java index 8ac418f..2f51507 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java @@ -2,19 +2,12 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; import com.casic.missiles.enums.notifyevent.AwareActionStatusEnum; -import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; -import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; -import com.casic.missiles.exception.BusinessException; import com.casic.missiles.listeners.NotifyStatusPostProcessor; -import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; -import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; import com.casic.missiles.modular.system.dao.UserMapper; @@ -48,13 +41,15 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - AwareActionStatusEnum notifyActionStatusEnum= AwareActionStatusEnum.ACTION_STATUS_MAP.getActionStatusMap().get(systemFlowForm.getFormId()); - NotifyEventStatusDTO notifyEventStatusDTO = NotifyEventStatusDTO.builder() - .id(id) - .status(notifyActionStatusEnum.getStatus()).build(); - NotifyStatusPostProcessor postProcessor = SpringContextUtil.getBean(notifyActionStatusEnum.getActionBeanName()); - if (postProcessor != null) { - postProcessor.doUpdateNotifyEventStatus(notifyEventStatusDTO); + AwareActionStatusEnum notifyActionStatusEnum = AwareActionStatusEnum.ACTION_STATUS_MAP.getActionStatusMap().get(systemFlowForm.getFormId()); + if (null != notifyActionStatusEnum) { + NotifyEventStatusDTO notifyEventStatusDTO = NotifyEventStatusDTO.builder() + .id(id) + .status(notifyActionStatusEnum.getStatus()).build(); + NotifyStatusPostProcessor postProcessor = SpringContextUtil.getBean(notifyActionStatusEnum.getActionBeanName()); + if (postProcessor != null) { + postProcessor.doUpdateNotifyEventStatus(notifyEventStatusDTO); + } } //设置通过状态为已通过 runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java new file mode 100644 index 0000000..12bedc0 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java @@ -0,0 +1,38 @@ +package com.casic.missiles.listeners.processor; + +import cn.hutool.core.lang.Assert; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.model.business.BusinessCertificateReport; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Objects; + +/** + * @author zt + * + * 证书报告审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_REPORT_BEAN_NAME) +public class CertificateReportStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + Long id = Long.valueOf(notifyEventStatusDTO.getId()); + Assert.isFalse(Objects.isNull(id), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); +// IBusinessCertificateReportServicecertificateReportService = SpringContextUtil.getBean(IBusinessCertificateReportService.class); +// if (!certificateReportService.updateCertificateReportState(id)) { +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// } + } + + +} 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 443faa0..eadd2c2 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 @@ -2,10 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.meter.TraceSupplierApprovalListRequest; import com.casic.missiles.dto.meter.TraceSupplierApprovalListResponse; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -31,7 +33,12 @@ List selectBatchForApproval(@Param("page")Page page, @Param("request") CertificateReportApprovalRequest request, @Param("businessKey") List businessKey); + + Page certificateMonitorsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + @Select("SELECT IFNULL(max(RIGHT(certificate_report_code, 9)), 0) from business_certificate_report where certificate_report_code like CONCAT(#{prefix},'%')") Long selectMaxCode(String prefix); + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml index 5aedb18..c7779c8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -170,4 +170,26 @@ + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateMonitorResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateMonitorResponse.java new file mode 100644 index 0000000..9c47b5d --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateMonitorResponse.java @@ -0,0 +1,43 @@ +package com.casic.missiles.dto.business.certificate; + +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; + +@Data +@ApiModel +public class CertificateMonitorResponse { + + @ApiModelProperty(value = "证书id", dataType = "Long") + private Long certificationId; + + @ApiModelProperty(value = "证书遍号", dataType = "String") + private String certificateReportCode; + + @ApiModelProperty(value = "证书名称", dataType = "String") + private String certificateReportName; + + @ApiModelProperty(value = "证书类型", dataType = "String") + @DictCodeField(message = "证书类型不合法", cacheName = MeterDictCode.CERTIFICATE_TYPE) + private String certificationType; + + @ApiModelProperty(value = "证书类型名称", dataType = "String") + private String certificationTypeName; + + @ApiModelProperty(value = "证书状态", dataType = "String") + private String certificateStatus; + + @ApiModelProperty(value = "初次提交时间", dataType = "String") + private String submitTime; + + @ApiModelProperty(value = " 完成时间", dataType = "String") + private String finishedTime; + + @ApiModelProperty(value = "退回次数", dataType = "Long") + private int returns; + + @ApiModelProperty(value = "制作人", dataType = "List") + private String createUser; +} 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 d879286..25ad1f9 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 @@ -42,6 +42,14 @@ @ApiModelProperty(value = "证书报告名称", dataType = "String") private String certificateReportName; + + /** + * 证书报告名称 + */ + @TableField("certificate_report_type") + @ApiModelProperty(value = "证书报告类型", dataType = "String") + private String certificateReportType; + /** * 证书类别,多个逗号分割(字典code) */ @@ -168,6 +176,13 @@ private String remark; /** + * 出具日期 + */ + @TableField("submit_date") + @ApiModelProperty(value = "提交时间", dataType = "String") + private String submitDate; + + /** * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过文件编辑接口必传参数)", dataType = "String") 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 408b580..e2e6681 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 @@ -6,14 +6,18 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.enums.BusinessExceptionEnum; 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.service.business.IBusinessCertificateReportService; +import com.casic.missiles.service.customer.CustomerSampleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.util.CollectionUtils; @@ -41,7 +45,8 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - + @Resource + private CustomerSampleService customerSampleService; @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -152,4 +157,21 @@ } return certificateReportService.failUpdate(certificateReport); } + + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); + } + + + + @ApiOperation("根据样品id查询证书监控列表") + @PostMapping("/certificateMonitorsById") + public ReturnDTO> certificateMonitorsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateMonitorsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 8e46101..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -25,11 +25,6 @@ 2.0.0 - com.casic - casic-metering-service - 2.0.0 - - com.github.oshi oshi-core 5.7.0 diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java index a013d67..c27b98e 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -16,4 +16,16 @@ * 审批中 */ String IN_APPROVAL = "3"; + + + /** + * 证书状态完成 + */ + String FINISHED = "已完成"; + + /** + * 证书状态未完成 + */ + String UNFINISHED = "未完成"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java index ebb9d60..a318a34 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -15,4 +15,6 @@ String LEASE_BEAN_NAME = "equipmentLeaseBean"; + String CERTIFICATE_REPORT_BEAN_NAME = "certificateReportBean"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java index 9300729..2435309 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -18,6 +18,7 @@ DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + CERTIFICATE_REPORT_STATUS(CERTIFICATE_REPORT_BEAN_NAME, ""), ACTION_STATUS_MAP(new HashMap() { { put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); @@ -32,6 +33,7 @@ put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + put(ApplyFromIdEnum.CERTIFICATE_REPORT_APPROVAL, CERTIFICATE_REPORT_STATUS); //证书报告审批通过状态回填 } }); String actionBeanName; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java index 8ac418f..2f51507 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java @@ -2,19 +2,12 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; import com.casic.missiles.enums.notifyevent.AwareActionStatusEnum; -import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; -import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; -import com.casic.missiles.exception.BusinessException; import com.casic.missiles.listeners.NotifyStatusPostProcessor; -import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; -import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; import com.casic.missiles.modular.system.dao.UserMapper; @@ -48,13 +41,15 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - AwareActionStatusEnum notifyActionStatusEnum= AwareActionStatusEnum.ACTION_STATUS_MAP.getActionStatusMap().get(systemFlowForm.getFormId()); - NotifyEventStatusDTO notifyEventStatusDTO = NotifyEventStatusDTO.builder() - .id(id) - .status(notifyActionStatusEnum.getStatus()).build(); - NotifyStatusPostProcessor postProcessor = SpringContextUtil.getBean(notifyActionStatusEnum.getActionBeanName()); - if (postProcessor != null) { - postProcessor.doUpdateNotifyEventStatus(notifyEventStatusDTO); + AwareActionStatusEnum notifyActionStatusEnum = AwareActionStatusEnum.ACTION_STATUS_MAP.getActionStatusMap().get(systemFlowForm.getFormId()); + if (null != notifyActionStatusEnum) { + NotifyEventStatusDTO notifyEventStatusDTO = NotifyEventStatusDTO.builder() + .id(id) + .status(notifyActionStatusEnum.getStatus()).build(); + NotifyStatusPostProcessor postProcessor = SpringContextUtil.getBean(notifyActionStatusEnum.getActionBeanName()); + if (postProcessor != null) { + postProcessor.doUpdateNotifyEventStatus(notifyEventStatusDTO); + } } //设置通过状态为已通过 runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java new file mode 100644 index 0000000..12bedc0 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java @@ -0,0 +1,38 @@ +package com.casic.missiles.listeners.processor; + +import cn.hutool.core.lang.Assert; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.model.business.BusinessCertificateReport; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Objects; + +/** + * @author zt + * + * 证书报告审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_REPORT_BEAN_NAME) +public class CertificateReportStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + Long id = Long.valueOf(notifyEventStatusDTO.getId()); + Assert.isFalse(Objects.isNull(id), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); +// IBusinessCertificateReportServicecertificateReportService = SpringContextUtil.getBean(IBusinessCertificateReportService.class); +// if (!certificateReportService.updateCertificateReportState(id)) { +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// } + } + + +} 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 443faa0..eadd2c2 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 @@ -2,10 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.meter.TraceSupplierApprovalListRequest; import com.casic.missiles.dto.meter.TraceSupplierApprovalListResponse; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -31,7 +33,12 @@ List selectBatchForApproval(@Param("page")Page page, @Param("request") CertificateReportApprovalRequest request, @Param("businessKey") List businessKey); + + Page certificateMonitorsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + @Select("SELECT IFNULL(max(RIGHT(certificate_report_code, 9)), 0) from business_certificate_report where certificate_report_code like CONCAT(#{prefix},'%')") Long selectMaxCode(String prefix); + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml index 5aedb18..c7779c8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -170,4 +170,26 @@ + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateMonitorResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateMonitorResponse.java new file mode 100644 index 0000000..9c47b5d --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateMonitorResponse.java @@ -0,0 +1,43 @@ +package com.casic.missiles.dto.business.certificate; + +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; + +@Data +@ApiModel +public class CertificateMonitorResponse { + + @ApiModelProperty(value = "证书id", dataType = "Long") + private Long certificationId; + + @ApiModelProperty(value = "证书遍号", dataType = "String") + private String certificateReportCode; + + @ApiModelProperty(value = "证书名称", dataType = "String") + private String certificateReportName; + + @ApiModelProperty(value = "证书类型", dataType = "String") + @DictCodeField(message = "证书类型不合法", cacheName = MeterDictCode.CERTIFICATE_TYPE) + private String certificationType; + + @ApiModelProperty(value = "证书类型名称", dataType = "String") + private String certificationTypeName; + + @ApiModelProperty(value = "证书状态", dataType = "String") + private String certificateStatus; + + @ApiModelProperty(value = "初次提交时间", dataType = "String") + private String submitTime; + + @ApiModelProperty(value = " 完成时间", dataType = "String") + private String finishedTime; + + @ApiModelProperty(value = "退回次数", dataType = "Long") + private int returns; + + @ApiModelProperty(value = "制作人", dataType = "List") + private String createUser; +} 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 d879286..25ad1f9 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 @@ -42,6 +42,14 @@ @ApiModelProperty(value = "证书报告名称", dataType = "String") private String certificateReportName; + + /** + * 证书报告名称 + */ + @TableField("certificate_report_type") + @ApiModelProperty(value = "证书报告类型", dataType = "String") + private String certificateReportType; + /** * 证书类别,多个逗号分割(字典code) */ @@ -168,6 +176,13 @@ private String remark; /** + * 出具日期 + */ + @TableField("submit_date") + @ApiModelProperty(value = "提交时间", dataType = "String") + private String submitDate; + + /** * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过文件编辑接口必传参数)", dataType = "String") 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 efe802b..7e34c6c 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 @@ -7,18 +7,23 @@ import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.model.auth.AuthUser; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.enums.business.MonitorCodeEnum; import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; @@ -31,8 +36,10 @@ import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.customer.CustomerSampleService; import com.casic.missiles.service.flowable.ApprovalOperateService; +import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import com.casic.missiles.utils.SpringContextUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -167,6 +174,7 @@ certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 certificateReport.setProcessId(processInstance.getId()); + certificateReport.setSubmitDate(DateUtil.formatDateTime(new Date())); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.CERTIFICATE_REPORT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.CERTIFICATE_REPORT_SUBMIT_FAILED.getMessage()); @@ -237,6 +245,7 @@ /** * 审批通过后 更新样品有效期 + * * @param id * @return */ @@ -245,7 +254,9 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为通过 + //审批状态为通过 + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); + certificateReport.setUpdateTime(DateUtil.formatDateTime(new Date())); int row = this.baseMapper.updateById(certificateReport); //更新样品有效期 BusinessCertificateReport certificateReport1 = this.baseMapper.selectById(id); @@ -260,6 +271,33 @@ return row > 0 ? true : false; } + @Override + public Page certificateMonitorsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateMonitorResponsePage = this.baseMapper.certificateMonitorsById(page, customerSampleIdRequest); + for (CertificateMonitorResponse certificateMonitorResponse : certificateMonitorResponsePage.getRecords()) { + if (!StringUtils.isEmpty(certificateMonitorResponse.getCertificationType())) { + DictCodeUtils.convertDictMultiCodeToName(certificateMonitorResponse); + } + //设置证书状态 + certificateMonitorResponse.setCertificateStatus(ApprovalStatusEnum.PASSED.equals(certificateMonitorResponse.getCertificateStatus()) ? + CertificatePrintStatusEnum.FINISHED : CertificatePrintStatusEnum.UNFINISHED); + //设置完成时间 + certificateMonitorResponse.setFinishedTime(ApprovalStatusEnum.PASSED.equals(certificateMonitorResponse.getCertificateStatus()) ? + certificateMonitorResponse.getFinishedTime() : ""); + + //设置退回次数 + List rejectBusinessKey = baseApprovalService.getFailedRejectList(ApplyFromIdEnum.CERTIFICATE_REPORT_APPROVAL); + + rejectBusinessKey.forEach(obj -> { + if (obj.equals(certificateMonitorResponse.getCertificationId().toString())) { + certificateMonitorResponse.setReturns(certificateMonitorResponse.getReturns() + 1); + } + }); + } + return null; + } + private List handleApprovalStatus(Page page, CertificateReportApprovalRequest request) { List approvalList = new ArrayList<>(); List businessKeys = new ArrayList<>(); 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 408b580..e2e6681 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 @@ -6,14 +6,18 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.enums.BusinessExceptionEnum; 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.service.business.IBusinessCertificateReportService; +import com.casic.missiles.service.customer.CustomerSampleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.util.CollectionUtils; @@ -41,7 +45,8 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - + @Resource + private CustomerSampleService customerSampleService; @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -152,4 +157,21 @@ } return certificateReportService.failUpdate(certificateReport); } + + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); + } + + + + @ApiOperation("根据样品id查询证书监控列表") + @PostMapping("/certificateMonitorsById") + public ReturnDTO> certificateMonitorsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateMonitorsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 8e46101..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -25,11 +25,6 @@ 2.0.0 - com.casic - casic-metering-service - 2.0.0 - - com.github.oshi oshi-core 5.7.0 diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java index a013d67..c27b98e 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -16,4 +16,16 @@ * 审批中 */ String IN_APPROVAL = "3"; + + + /** + * 证书状态完成 + */ + String FINISHED = "已完成"; + + /** + * 证书状态未完成 + */ + String UNFINISHED = "未完成"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java index ebb9d60..a318a34 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -15,4 +15,6 @@ String LEASE_BEAN_NAME = "equipmentLeaseBean"; + String CERTIFICATE_REPORT_BEAN_NAME = "certificateReportBean"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java index 9300729..2435309 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -18,6 +18,7 @@ DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + CERTIFICATE_REPORT_STATUS(CERTIFICATE_REPORT_BEAN_NAME, ""), ACTION_STATUS_MAP(new HashMap() { { put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); @@ -32,6 +33,7 @@ put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + put(ApplyFromIdEnum.CERTIFICATE_REPORT_APPROVAL, CERTIFICATE_REPORT_STATUS); //证书报告审批通过状态回填 } }); String actionBeanName; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java index 8ac418f..2f51507 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java @@ -2,19 +2,12 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; import com.casic.missiles.enums.notifyevent.AwareActionStatusEnum; -import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; -import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; -import com.casic.missiles.exception.BusinessException; import com.casic.missiles.listeners.NotifyStatusPostProcessor; -import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; -import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; import com.casic.missiles.modular.system.dao.UserMapper; @@ -48,13 +41,15 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - AwareActionStatusEnum notifyActionStatusEnum= AwareActionStatusEnum.ACTION_STATUS_MAP.getActionStatusMap().get(systemFlowForm.getFormId()); - NotifyEventStatusDTO notifyEventStatusDTO = NotifyEventStatusDTO.builder() - .id(id) - .status(notifyActionStatusEnum.getStatus()).build(); - NotifyStatusPostProcessor postProcessor = SpringContextUtil.getBean(notifyActionStatusEnum.getActionBeanName()); - if (postProcessor != null) { - postProcessor.doUpdateNotifyEventStatus(notifyEventStatusDTO); + AwareActionStatusEnum notifyActionStatusEnum = AwareActionStatusEnum.ACTION_STATUS_MAP.getActionStatusMap().get(systemFlowForm.getFormId()); + if (null != notifyActionStatusEnum) { + NotifyEventStatusDTO notifyEventStatusDTO = NotifyEventStatusDTO.builder() + .id(id) + .status(notifyActionStatusEnum.getStatus()).build(); + NotifyStatusPostProcessor postProcessor = SpringContextUtil.getBean(notifyActionStatusEnum.getActionBeanName()); + if (postProcessor != null) { + postProcessor.doUpdateNotifyEventStatus(notifyEventStatusDTO); + } } //设置通过状态为已通过 runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java new file mode 100644 index 0000000..12bedc0 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java @@ -0,0 +1,38 @@ +package com.casic.missiles.listeners.processor; + +import cn.hutool.core.lang.Assert; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.model.business.BusinessCertificateReport; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Objects; + +/** + * @author zt + * + * 证书报告审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_REPORT_BEAN_NAME) +public class CertificateReportStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + Long id = Long.valueOf(notifyEventStatusDTO.getId()); + Assert.isFalse(Objects.isNull(id), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); +// IBusinessCertificateReportServicecertificateReportService = SpringContextUtil.getBean(IBusinessCertificateReportService.class); +// if (!certificateReportService.updateCertificateReportState(id)) { +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// } + } + + +} 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 443faa0..eadd2c2 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 @@ -2,10 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.meter.TraceSupplierApprovalListRequest; import com.casic.missiles.dto.meter.TraceSupplierApprovalListResponse; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -31,7 +33,12 @@ List selectBatchForApproval(@Param("page")Page page, @Param("request") CertificateReportApprovalRequest request, @Param("businessKey") List businessKey); + + Page certificateMonitorsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + @Select("SELECT IFNULL(max(RIGHT(certificate_report_code, 9)), 0) from business_certificate_report where certificate_report_code like CONCAT(#{prefix},'%')") Long selectMaxCode(String prefix); + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml index 5aedb18..c7779c8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -170,4 +170,26 @@ + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateMonitorResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateMonitorResponse.java new file mode 100644 index 0000000..9c47b5d --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateMonitorResponse.java @@ -0,0 +1,43 @@ +package com.casic.missiles.dto.business.certificate; + +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; + +@Data +@ApiModel +public class CertificateMonitorResponse { + + @ApiModelProperty(value = "证书id", dataType = "Long") + private Long certificationId; + + @ApiModelProperty(value = "证书遍号", dataType = "String") + private String certificateReportCode; + + @ApiModelProperty(value = "证书名称", dataType = "String") + private String certificateReportName; + + @ApiModelProperty(value = "证书类型", dataType = "String") + @DictCodeField(message = "证书类型不合法", cacheName = MeterDictCode.CERTIFICATE_TYPE) + private String certificationType; + + @ApiModelProperty(value = "证书类型名称", dataType = "String") + private String certificationTypeName; + + @ApiModelProperty(value = "证书状态", dataType = "String") + private String certificateStatus; + + @ApiModelProperty(value = "初次提交时间", dataType = "String") + private String submitTime; + + @ApiModelProperty(value = " 完成时间", dataType = "String") + private String finishedTime; + + @ApiModelProperty(value = "退回次数", dataType = "Long") + private int returns; + + @ApiModelProperty(value = "制作人", dataType = "List") + private String createUser; +} 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 d879286..25ad1f9 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 @@ -42,6 +42,14 @@ @ApiModelProperty(value = "证书报告名称", dataType = "String") private String certificateReportName; + + /** + * 证书报告名称 + */ + @TableField("certificate_report_type") + @ApiModelProperty(value = "证书报告类型", dataType = "String") + private String certificateReportType; + /** * 证书类别,多个逗号分割(字典code) */ @@ -168,6 +176,13 @@ private String remark; /** + * 出具日期 + */ + @TableField("submit_date") + @ApiModelProperty(value = "提交时间", dataType = "String") + private String submitDate; + + /** * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过文件编辑接口必传参数)", dataType = "String") 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 efe802b..7e34c6c 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 @@ -7,18 +7,23 @@ import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.model.auth.AuthUser; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.enums.business.MonitorCodeEnum; import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; @@ -31,8 +36,10 @@ import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.customer.CustomerSampleService; import com.casic.missiles.service.flowable.ApprovalOperateService; +import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import com.casic.missiles.utils.SpringContextUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -167,6 +174,7 @@ certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 certificateReport.setProcessId(processInstance.getId()); + certificateReport.setSubmitDate(DateUtil.formatDateTime(new Date())); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.CERTIFICATE_REPORT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.CERTIFICATE_REPORT_SUBMIT_FAILED.getMessage()); @@ -237,6 +245,7 @@ /** * 审批通过后 更新样品有效期 + * * @param id * @return */ @@ -245,7 +254,9 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为通过 + //审批状态为通过 + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); + certificateReport.setUpdateTime(DateUtil.formatDateTime(new Date())); int row = this.baseMapper.updateById(certificateReport); //更新样品有效期 BusinessCertificateReport certificateReport1 = this.baseMapper.selectById(id); @@ -260,6 +271,33 @@ return row > 0 ? true : false; } + @Override + public Page certificateMonitorsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateMonitorResponsePage = this.baseMapper.certificateMonitorsById(page, customerSampleIdRequest); + for (CertificateMonitorResponse certificateMonitorResponse : certificateMonitorResponsePage.getRecords()) { + if (!StringUtils.isEmpty(certificateMonitorResponse.getCertificationType())) { + DictCodeUtils.convertDictMultiCodeToName(certificateMonitorResponse); + } + //设置证书状态 + certificateMonitorResponse.setCertificateStatus(ApprovalStatusEnum.PASSED.equals(certificateMonitorResponse.getCertificateStatus()) ? + CertificatePrintStatusEnum.FINISHED : CertificatePrintStatusEnum.UNFINISHED); + //设置完成时间 + certificateMonitorResponse.setFinishedTime(ApprovalStatusEnum.PASSED.equals(certificateMonitorResponse.getCertificateStatus()) ? + certificateMonitorResponse.getFinishedTime() : ""); + + //设置退回次数 + List rejectBusinessKey = baseApprovalService.getFailedRejectList(ApplyFromIdEnum.CERTIFICATE_REPORT_APPROVAL); + + rejectBusinessKey.forEach(obj -> { + if (obj.equals(certificateMonitorResponse.getCertificationId().toString())) { + certificateMonitorResponse.setReturns(certificateMonitorResponse.getReturns() + 1); + } + }); + } + return null; + } + private List handleApprovalStatus(Page page, CertificateReportApprovalRequest request) { List approvalList = new ArrayList<>(); List businessKeys = new ArrayList<>(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java index c10797e..b6010c9 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java @@ -175,6 +175,8 @@ return certificateResponsePage; } + + @Override public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); 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 408b580..e2e6681 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 @@ -6,14 +6,18 @@ import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.*; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.enums.BusinessExceptionEnum; 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.service.business.IBusinessCertificateReportService; +import com.casic.missiles.service.customer.CustomerSampleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.util.CollectionUtils; @@ -41,7 +45,8 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - + @Resource + private CustomerSampleService customerSampleService; @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -152,4 +157,21 @@ } return certificateReportService.failUpdate(certificateReport); } + + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/certificateRecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(customerSampleService.certificateRecordsById(customerSampleIdRequest))); + } + + + + @ApiOperation("根据样品id查询证书监控列表") + @PostMapping("/certificateMonitorsById") + public ReturnDTO> certificateMonitorsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateMonitorsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index 8e46101..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -25,11 +25,6 @@ 2.0.0 - com.casic - casic-metering-service - 2.0.0 - - com.github.oshi oshi-core 5.7.0 diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java index a013d67..c27b98e 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -16,4 +16,16 @@ * 审批中 */ String IN_APPROVAL = "3"; + + + /** + * 证书状态完成 + */ + String FINISHED = "已完成"; + + /** + * 证书状态未完成 + */ + String UNFINISHED = "未完成"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java index ebb9d60..a318a34 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -15,4 +15,6 @@ String LEASE_BEAN_NAME = "equipmentLeaseBean"; + String CERTIFICATE_REPORT_BEAN_NAME = "certificateReportBean"; + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java index 9300729..2435309 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -18,6 +18,7 @@ DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + CERTIFICATE_REPORT_STATUS(CERTIFICATE_REPORT_BEAN_NAME, ""), ACTION_STATUS_MAP(new HashMap() { { put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); @@ -32,6 +33,7 @@ put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + put(ApplyFromIdEnum.CERTIFICATE_REPORT_APPROVAL, CERTIFICATE_REPORT_STATUS); //证书报告审批通过状态回填 } }); String actionBeanName; diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java index 8ac418f..2f51507 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/ProcessUpdateStateListener.java @@ -2,19 +2,12 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; import com.casic.missiles.enums.notifyevent.AwareActionStatusEnum; -import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; -import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; -import com.casic.missiles.exception.BusinessException; import com.casic.missiles.listeners.NotifyStatusPostProcessor; -import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; -import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.model.workbench.WorkbenchApprovalMessage; import com.casic.missiles.modular.system.dao.UserMapper; @@ -48,13 +41,15 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - AwareActionStatusEnum notifyActionStatusEnum= AwareActionStatusEnum.ACTION_STATUS_MAP.getActionStatusMap().get(systemFlowForm.getFormId()); - NotifyEventStatusDTO notifyEventStatusDTO = NotifyEventStatusDTO.builder() - .id(id) - .status(notifyActionStatusEnum.getStatus()).build(); - NotifyStatusPostProcessor postProcessor = SpringContextUtil.getBean(notifyActionStatusEnum.getActionBeanName()); - if (postProcessor != null) { - postProcessor.doUpdateNotifyEventStatus(notifyEventStatusDTO); + AwareActionStatusEnum notifyActionStatusEnum = AwareActionStatusEnum.ACTION_STATUS_MAP.getActionStatusMap().get(systemFlowForm.getFormId()); + if (null != notifyActionStatusEnum) { + NotifyEventStatusDTO notifyEventStatusDTO = NotifyEventStatusDTO.builder() + .id(id) + .status(notifyActionStatusEnum.getStatus()).build(); + NotifyStatusPostProcessor postProcessor = SpringContextUtil.getBean(notifyActionStatusEnum.getActionBeanName()); + if (postProcessor != null) { + postProcessor.doUpdateNotifyEventStatus(notifyEventStatusDTO); + } } //设置通过状态为已通过 runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java new file mode 100644 index 0000000..12bedc0 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateReportStatusPostProcessor.java @@ -0,0 +1,38 @@ +package com.casic.missiles.listeners.processor; + +import cn.hutool.core.lang.Assert; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.model.business.BusinessCertificateReport; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Objects; + +/** + * @author zt + * + * 证书报告审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_REPORT_BEAN_NAME) +public class CertificateReportStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + Long id = Long.valueOf(notifyEventStatusDTO.getId()); + Assert.isFalse(Objects.isNull(id), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); +// IBusinessCertificateReportServicecertificateReportService = SpringContextUtil.getBean(IBusinessCertificateReportService.class); +// if (!certificateReportService.updateCertificateReportState(id)) { +// throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); +// } + } + + +} 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 443faa0..eadd2c2 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 @@ -2,10 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; import com.casic.missiles.dto.business.print.CertificateListRequest; import com.casic.missiles.dto.business.print.CertificateListResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.meter.TraceSupplierApprovalListRequest; import com.casic.missiles.dto.meter.TraceSupplierApprovalListResponse; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -31,7 +33,12 @@ List selectBatchForApproval(@Param("page")Page page, @Param("request") CertificateReportApprovalRequest request, @Param("businessKey") List businessKey); + + Page certificateMonitorsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + @Select("SELECT IFNULL(max(RIGHT(certificate_report_code, 9)), 0) from business_certificate_report where certificate_report_code like CONCAT(#{prefix},'%')") Long selectMaxCode(String prefix); + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml index 5aedb18..c7779c8 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -170,4 +170,26 @@ + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateMonitorResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateMonitorResponse.java new file mode 100644 index 0000000..9c47b5d --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateMonitorResponse.java @@ -0,0 +1,43 @@ +package com.casic.missiles.dto.business.certificate; + +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; + +@Data +@ApiModel +public class CertificateMonitorResponse { + + @ApiModelProperty(value = "证书id", dataType = "Long") + private Long certificationId; + + @ApiModelProperty(value = "证书遍号", dataType = "String") + private String certificateReportCode; + + @ApiModelProperty(value = "证书名称", dataType = "String") + private String certificateReportName; + + @ApiModelProperty(value = "证书类型", dataType = "String") + @DictCodeField(message = "证书类型不合法", cacheName = MeterDictCode.CERTIFICATE_TYPE) + private String certificationType; + + @ApiModelProperty(value = "证书类型名称", dataType = "String") + private String certificationTypeName; + + @ApiModelProperty(value = "证书状态", dataType = "String") + private String certificateStatus; + + @ApiModelProperty(value = "初次提交时间", dataType = "String") + private String submitTime; + + @ApiModelProperty(value = " 完成时间", dataType = "String") + private String finishedTime; + + @ApiModelProperty(value = "退回次数", dataType = "Long") + private int returns; + + @ApiModelProperty(value = "制作人", dataType = "List") + private String createUser; +} 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 d879286..25ad1f9 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 @@ -42,6 +42,14 @@ @ApiModelProperty(value = "证书报告名称", dataType = "String") private String certificateReportName; + + /** + * 证书报告名称 + */ + @TableField("certificate_report_type") + @ApiModelProperty(value = "证书报告类型", dataType = "String") + private String certificateReportType; + /** * 证书类别,多个逗号分割(字典code) */ @@ -168,6 +176,13 @@ private String remark; /** + * 出具日期 + */ + @TableField("submit_date") + @ApiModelProperty(value = "提交时间", dataType = "String") + private String submitDate; + + /** * 流程实例id */ @ApiModelProperty(value = "流程实例id(未通过文件编辑接口必传参数)", dataType = "String") 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 efe802b..7e34c6c 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 @@ -7,18 +7,23 @@ import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.core.model.auth.AuthUser; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.enums.business.MonitorCodeEnum; import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; @@ -31,8 +36,10 @@ import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.customer.CustomerSampleService; import com.casic.missiles.service.flowable.ApprovalOperateService; +import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import com.casic.missiles.utils.SpringContextUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -167,6 +174,7 @@ certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 certificateReport.setProcessId(processInstance.getId()); + certificateReport.setSubmitDate(DateUtil.formatDateTime(new Date())); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.CERTIFICATE_REPORT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.CERTIFICATE_REPORT_SUBMIT_FAILED.getMessage()); @@ -237,6 +245,7 @@ /** * 审批通过后 更新样品有效期 + * * @param id * @return */ @@ -245,7 +254,9 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为通过 + //审批状态为通过 + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); + certificateReport.setUpdateTime(DateUtil.formatDateTime(new Date())); int row = this.baseMapper.updateById(certificateReport); //更新样品有效期 BusinessCertificateReport certificateReport1 = this.baseMapper.selectById(id); @@ -260,6 +271,33 @@ return row > 0 ? true : false; } + @Override + public Page certificateMonitorsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateMonitorResponsePage = this.baseMapper.certificateMonitorsById(page, customerSampleIdRequest); + for (CertificateMonitorResponse certificateMonitorResponse : certificateMonitorResponsePage.getRecords()) { + if (!StringUtils.isEmpty(certificateMonitorResponse.getCertificationType())) { + DictCodeUtils.convertDictMultiCodeToName(certificateMonitorResponse); + } + //设置证书状态 + certificateMonitorResponse.setCertificateStatus(ApprovalStatusEnum.PASSED.equals(certificateMonitorResponse.getCertificateStatus()) ? + CertificatePrintStatusEnum.FINISHED : CertificatePrintStatusEnum.UNFINISHED); + //设置完成时间 + certificateMonitorResponse.setFinishedTime(ApprovalStatusEnum.PASSED.equals(certificateMonitorResponse.getCertificateStatus()) ? + certificateMonitorResponse.getFinishedTime() : ""); + + //设置退回次数 + List rejectBusinessKey = baseApprovalService.getFailedRejectList(ApplyFromIdEnum.CERTIFICATE_REPORT_APPROVAL); + + rejectBusinessKey.forEach(obj -> { + if (obj.equals(certificateMonitorResponse.getCertificationId().toString())) { + certificateMonitorResponse.setReturns(certificateMonitorResponse.getReturns() + 1); + } + }); + } + return null; + } + private List handleApprovalStatus(Page page, CertificateReportApprovalRequest request) { List approvalList = new ArrayList<>(); List businessKeys = new ArrayList<>(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java index c10797e..b6010c9 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java @@ -175,6 +175,8 @@ return certificateResponsePage; } + + @Override public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); 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 e8a61c7..ad27c2a 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 @@ -4,8 +4,10 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.dto.BaseApprovalSubmitRequest; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -41,5 +43,7 @@ void originExport(CertificateReportApprovalRequest request, HttpServletResponse response); boolean updateCertificateReportState(Long id); + Page certificateMonitorsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception; + }